NPOI操作EXCEL——npoi基础

  1. 下载地址:http://npoi.codeplex.com

  2. 一般需要引用的dll

    NPOI.dll

    OOXML.dll

    OpenXml4Net.dll

    OpenXmlFormats.dll

    ICSharpCode.SharpZipLib.dll

  3. npoi 2.x以后的版本支持OOXML(EXCEL2007及以上版本)。带XSSF的命名空间支持07及以上,HSSF支持03版本:

    XSSFXSSFWorkbookXSSFSheetXSSFRowXSSFCell分别对应EXCEL中工作簿,工作表,行,列

  4. HSSF中同样有HSSFWorkbookHSSFSheetHSSFRowHSSFCell

    它们继承同一个接口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单元格基本类型

    布尔型、数值型、文本型、公式型、空白、错误

    BOOLEANNUMERICSTRINGFORMULABLANKERROR


    基本语法还有很多,常用的就是上面这些,如有其他需要可以查看API。下一篇博客开始讲具体的设计模式与代码,敬请期待。

你可能感兴趣的:(NPOI操作EXCEL——npoi基础)