NPOI操作Excel(一)--NPOI基礎


       用C#讀取Excel的方法有很多中,由於近期工作需要,需要解析的Excel含有合並單元格以及背景色等特殊要求,故在網上查了一些關於讀Excel的方法的優缺點,覺得NPOI能滿足我的需要,所以搜索了一些資料做了一些測試,下面有些內容有些是來源於別人的博客,都備有出處,只是想把一些覺得對自己有用的記錄一下,望見諒。

      我們先說了解一下NPOI的優缺點:

      優點:讀取數據快,讀取方式靈活,包含多個sheet的Excel單元格合並設置單元格字段、顏色、設置單元格為下拉框,並限制輸入值,設置單元格只能輸入數據等(能解決幾乎所有的Excel問題)。

     缺點:不能對已經打開的Excel進行操作,需要導入多個dll文件(NPOI、NPOI.HPSF、NPOI.HSSF、NPOI.HSSF.UserModel、NPOI.POIFS、NPOI.Util

    下載地址:http://npoi.codeplex.com

1、常用的基本方法: 

創建工作簿                                                 IWorkbook workbook = new XSSFWorkbook();

按指定名稱創建Sheet                                   workbook.CreateSheet("SheetName");

移出Sheet                                                 workbook.RemoveSheetAt(SheetIndex);

按名稱獲得Sheet對象                                   ISheet sheet = workbook.GetSheet("SheetName ");

根據索引獲得Sheet對象                                ISheet sheet = workbook.GetSheetAt(SheetIndex);

獲得某一個ISheet的所有IRow,通常可以用       ISheet.GetRowEnumerator()

獲得某一特定行,可以直接用                          ISheet.GetRow(rowIndex)

工作表中第一個有數據行的行號                       ISheet.FirstRowNum

工作表中最后一個有數據行的行號                    ISheet.LastRowNum

一行中第一個有數據列的列號                          IRow.FirstCellNum

一行中最后一個有數據列的列號                       IRow.LastCellNum

獲取sheet所有合並單元格索引                         ISheet.NumMergedRegions

獲取某合並單元格的地址(i是合並單元格索引)      ISheet.GetMergedRegion(i)

獲得數據類型CellRangeAddress,含起始行號和列號

獲取某單元格值                                                 Row.GetCell(j).StringCellValue.Trim()

公式單元格如果是數字可以:                          Row.GetCell(j).NumericCellValue.ToString()

2、NPOI.DLL中包含的模塊

NPOI.Util          基礎輔助庫 
NPOI.POIFS      OLE2格式讀寫庫,主要負責處理DocumentInformation 
NPOI.DDF        Microsoft Drawing格式讀寫庫 
NPOI.SS          Excel 2003和Excel 2007操作庫共用的接口庫以及公用模塊實現,如公式計算庫  
NPOI.HPSF       OLE2的Summary Information和Document Summary Information屬性讀寫庫 
NPOI.HSSF      Excel BIFF格式讀寫庫,這是用戶用的最多的命名空間

3、NPOI.OOXML.DLL中包含的模塊(主要是2007版本操作方法)

NPOI.XSSF          Excel 2007操作庫,大部分對象都實現了NPOI.SS的接口 
NPOI.XWPF         Word 2007操作庫

4、EXCEL單元格值基本類型

Unknown = -1,  // 未知
Numeric = 0,  // 數值型
String = 1,  // 文本型
Formula = 2,  // 公式型
Blank = 3,  // 空白
Boolean = 4,  // 布爾型
Error = 5,  // 錯誤

參考:http://www.cnblogs.com/csqb-511612371/p/4878059.html

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM