在写导出excel时,第一次测试导出数据使用的HSSFWorkbook,文档后缀.xsl,导出数据在65536行以内,很流畅,很完美~~
然而,当项目部署到服务器,需要导出数据大于65536行时,报出问题:
java.lang.IllegalArgumentException: Invalid row number (65536) outside allowable range (0…65535)
才知道,XSSFWorkbook导出数据行数远大于HSSFWorkbook,于是修改为XSSFWorkbook(注意:后缀需要修改为.xslx)
然而报出其他错误,内存溢出:
java.lang.OutOfMemoryError:java heap space
去百度,很多答案都是需要取配置Java堆栈大小,在配置完成后,测试仍然不行,快放弃的时候,终于使用SXSSFWorkbook将问题解决了
遇到这种问题的小伙伴,可以尝试一下改为SXSSFWorkbook
写导出时,对HSSFWorkbook,XSSFWorkbook,SXSSFWorkbook的理解
最新推荐文章于 2024-06-21 10:55:06 发布