1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > Execl导出大量数据出现内存溢出的bug 解决方法

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

时间:2022-02-28 11:01:17

相关推荐

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

当数据量超出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();

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