POI操作大数据量Excel时,new SXSSFWorkbook(1000)实例化失败问题解决

项目上使用POI导出数据库大数据量为Excel时,发现代码运行时 实例化工作簿 失败!

SXSSFWorkbook workbook = new SXSSFWorkbook(100);

trycatch问题代码后,在debug中也并未进入异常处理,而是直接进入了finally

最后发现问题所在:缺少SXSSF所依赖的操作xml的相关jar包!

 Apache POI操作Excel对象 
 1:HSSF:操作Excel 2007之前版本(.xls)格式,xls格式的excel(最大行数65536行,最大列数256列) 
 2:XSSF:操作Excel 2007及之后版本(.xlsx)格式,.xlsx格式的excel(最大行数1048576行,最大列数16384列)
 3:SXSSF:从POI3.8 beta3开始支持,基于XSSF,当数据量过大导致内存占用大于实例化时设定的初始值时,会将数据持久化到硬盘,从而避免出现内存溢出问题。

使用SXSSF实现大数据量的excel导出,导出的文件为.xlsx格式(2007)的excel,而.xlsx是用新的基于XML的压缩文件格式取代了原.xls(2003)专有的默认文件格式,使其占用空间更小,可以向下兼容xls。

所以,不光要导入poi的SXSSF相关的jar包,而且还要导入SXSSF所依赖的操作xml的jar包!

    1:poi-3.10-FINAL-20140208.jar
    2:poi-ooxml-3.10-FINAL-20140208.jar
    3:poi-ooxml-schemas-3.10-FINAL-20140208.jar
    4:dom4j-1.6.1.jar
    5:xmlbeans-2.3.0.jar

关于使用POI导出大数据量Excel的实现,请看我之前的一篇博文(代码注释详细工整,并附有源码下载):

基于Apache POI导出大数据量Excel的实现


  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值