下载地址: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。下一篇博客开始讲具体的设计模式与代码,敬请期待。