利用NPOI导出到Excel2007

时间:2022-09-29 16:59:33

项目中导出到excel2003中遇到瓶颈,因为列表数据已经超过了65535行,excel2003一个工作表中最大只支持65535行,解决的办法有两个:

1,当数据超过65535行时,新建另一个工作表,把数据写入另外的工作表中,

2,下载最新版本的PNOI组件,最新版本的组件支持office2007,目前最新版本为NPOI 2.0 beta 1,

下面来介绍一下导出NPOI 1.2.4 版本 导出到excel2003和NPOI 2.0 beta 1导出excel2007的具体方法及注意事项。

引用命名空间

using NPOI.XSSF.UserModel;
using NPOI.SS.UserModel;
using NPOI.HSSF.UserModel;
using System.IO;

早期版本引入的命名空间:

using NPOI.HSSF.UserModel;
using NPOI.SS.UserModel;
using System.IO;
using NPOI.HSSF.Util;

亲,看到哪里不同了吗?
支持excel2003与支持excel2007大体类似,不同之处可以查看官方demo,

导出到excel中的写法:            HSSFWorkbook wk = new HSSFWorkbook();

导出到excel2007中的写法:   IWorkbook workbook = new XSSFWorkbook();

详细见代码,注意的是运行环境,在开发机器上写demo测试通过,发布到windows server2003上就报出异常,就这么折腾了一天,最后一步一步比较,才发现

服务器端.net framework没有安装sp1,特别提醒如果是.net framewok2.0环境,一定要打上 sp1补丁。

利用NPOI导出到Excel2007