NPOI读取excel2003和excel2007格式

来源:互联网 发布:阿里云os5.1系统root 编辑:程序博客网 时间:2024/05/01 04:00

       网上搜索的资料没有搜到能同时读取excel2003和2007格式的代码;so还是自己写一个;

       为了能够在读取时自动识别Excel格式,而不是由你自己去判断,NPOI提供了一个非常方便的类NPOI.SS.WorkbookFactory。

public class WorkbookFactory{    public static IWorkbook Create(POIFSFileSystem fs){...}    public static IWorkbook Create(OPCPackage pkg){...}    public static IWorkbook Create(Stream inputStream){...}    public static IFormulaEvaluator CreateFormulaEvaluator(IWorkbook workbook){...}}
       这里先介绍下POIFSFileSystem和OPCPackage的区别,POIFSFileSystem即OLE2 格式(俗称ActiveX文档格式)的读写库,OPCPackage即OOXML格式的读写库,两套库分别用于Excel 2003和Excel 2007,当然由于是底层库,他们不局限于读取xls和xlsx格式,例如你可以用POIFSFileSystem读取Thumb.db文件格式,具体可网上搜索。

第三个方法则是今天要介绍的重点,它具有自动识别功能,只要你传Stream对象进去,它就能知道你传进去的到底是xls还是xlsx,然后返回相应的实例。

最后一个则是返回公式计算对象的,原理类似。HSSF和XSSF都有一个公式计算类,分别是HSSFFormulaEvaluator和XSSFFormulaEvaluator。

主要的就介绍到这里,NPOI 2.0的新功能很多,大家自己没事可以研究研究源代码,挖掘下新功能,期待大家自己写的NPOI教程。

下面上传自己写的测试读取excel2003和2007的代码:

附上下载链接:下载



0 0
原创粉丝点击