下載地址:http://npoi.codeplex.comc#
通常須要引用的dll設計模式
NPOI.dllspa
OOXML.dll設計
OpenXml4Net.dllcode
OpenXmlFormats.dllorm
ICSharpCode.SharpZipLib.dll對象
npoi 2.x之後的版本支持OOXML(EXCEL2007及以上版本)。帶XSSF的命名空間支持07及以上,HSSF支持03版本:繼承
XSSF中XSSFWorkbook,XSSFSheet,XSSFRow,XSSFCell分別對應EXCEL中工做簿,工做表,行,列索引
它們繼承同一個接口IWorkbook(命名空間:using NPOI.SS.UserModel;),因此能夠作如下處理(後綴名判斷)兼容EXCEL 2003及之前(.xls),EXCEL 2007及之後(.xlsx)不一樣版本接口
IWorkbook workbook = null; if(System.IO.Path.GetExtension(filePath)=="xls") { workbook = new HSSFWorkbook(ExcelFileStream);//新建03工做簿 } else if(System.IO.Path.GetExtension(filePath)=="xlsx") { workbook = new XSSFWorkbook(ExcelFileStream);//新建07工做簿 } else { throw new exception("文件類型錯誤"); }
4.基本方法:
建立工做簿 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
5. 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格式讀寫庫,這是用戶用的最多的命名空間
6.NPOI.OOXML.DLL中包含的模塊
NPOI.XSSF Excel 2007操做庫,大部分對象都實現了NPOI.SS的接口
NPOI.XWPF Word 2007操做庫
7.EXCEL單元格基本類型
布爾型、數值型、文本型、公式型、空白、錯誤
BOOLEAN、NUMERIC、STRING、FORMULA、BLANK、ERROR
基本語法還有不少,經常使用的就是上面這些,若有其餘須要能夠查看API。下一篇博客開始講具體的設計模式與代碼,敬請期待。