乔山办公网我们一直在努力
您的位置:乔山办公网 > excel表格制作 > java excel poi 大数据量50W <em>内存溢出</em>-java导出excel

java excel poi 大数据量50W <em>内存溢出</em>-java导出excel

作者:乔山办公网日期:

返回目录:excel表格制作


用java写完文件后需要关闭文件流,如果不关闭就会报这个错。
因为你的文件内容写完了,所以内容没有缺失,但excel检测到文件没有正常结束,所以报错。
另存是由excel重写了完整的文件,所以可以解决问题。
关闭文件例子:
FileOutputStream os = new FileOutputStream("workbook.xls");
wb.write(os);
os.close();

Workbook workbook = new SXSSFWorkbook(1000);
poi有个机制 每次往内存中写1000条数据,这个1000你可以改的 尽量别大于10000条数据,写完1000条数据后再重新写,这样就不会内存溢出了。
建议不要导出excel,当前excel中已经有支持cvs文件。
解释:cvs文件的显示方式和xls的显示方式一样,并且此显示方式的zhidao执行效率要高于xls文件的额,因为cvs文件存储的是数据直接直接用英文逗号分隔,xls是存储的cell。所以在大量数据的情况下,都是导出为cvs文件。
备注:如果数据过多的话,建议可以分多次查询导出,不要一次性导出,否则效率会很低。
-

Workbook workbook = new SXSSFWorkbook(1000);
poi有个机制 每次往内存中写1000条数zhidao,这个1000你可以改的 尽量别大于10000条数据,写完1000条数据后再重新写,这样就不会内存溢出了。

相关阅读

关键词不能为空
极力推荐

ppt怎么做_excel表格制作_office365_word文档_365办公网