抑郁症健康,内容丰富有趣,生活中的好帮手!
抑郁症健康 > Execl导出大量数据出现内存溢出的bug 解决方法

Execl导出大量数据出现内存溢出的bug 解决方法

时间:2019-05-31 05:01:40

相关推荐

当数据量超出65536条后,在使用HSSFWorkbook或XSSFWorkbook,程序会报OutOfMemoryError:Javaheap space异常

解决方法是:从POI 3.8版本开始,提供了一种基于XSSF的低内存占用的API----SXSSFWorkbook。

SXSSFWorkbook-官方解释:实现“BigGridDemo”策略的流式XSSFWorkbook版本。这允许写入非常大的文件而不会耗尽内存,因为任何时候只有可配置的行部分被保存在内存中。您可以提供用作书面数据基础的模板工作簿。有关详细信息,请参见/spreadsheet/how-to.html#sxssf。

例如:

SXSSFWorkbook sxssfWorkbook = new SXSSFWorkbook();SXSSFSheet sheet = sxssfWorkbook.createSheet("sheet1");sheet.setDefaultColumnWidth(22);SXSSFRow rootRow = sheet.createRow(0);sxssfWorkbook.write(outputStream);sxssfWorkbook.close();

如果觉得《Execl导出大量数据出现内存溢出的bug 解决方法》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。