alibaba / easyexcel

快速、简洁、解决大文件内存溢出的java处理Excel工具
https://easyexcel.opensource.alibaba.com
Apache License 2.0
31.65k stars 7.46k forks source link

easyExcel 填充模板导出时,oom: overhead #3286

Open bugKai001 opened 1 year ago

bugKai001 commented 1 year ago

触发场景描述

多sheet模板导出,ExcelWriter build的时候,直接oom, 模板大小900K+,是因为模板太大的缘故吗?只是加载模板,还未添加数据

触发Bug的代码

   ExcelWriter excelWriter = EasyExcel.write(path).withTemplate(templatePath).build();

提示的异常或者没有达到的效果

Caused by: com.alibaba.excel.exception.ExcelGenerateException: java.lang.OutOfMemoryError: GC overhead limit exceeded at com.alibaba.excel.write.ExcelBuilderImpl.(ExcelBuilderImpl.java:42) at com.alibaba.excel.ExcelWriter.(ExcelWriter.java:36) at com.alibaba.excel.write.builder.ExcelWriterBuilder.build(ExcelWriterBuilder.java:114)

gongxuanzhang commented 1 year ago

把模板和数据搞上来这里复现一下

bugKai001 commented 1 year ago

把模板和数据搞上来这里复现一下 填充模板 - 副本 (2).xlsx 这个模板,直接 ExcelWriter excelWriter = EasyExcel.write(path).withTemplate(templatePath).build(); 执行这个就报错, 内存设置-Xms128m -Xmx256m

junegod commented 9 months ago

@zhuangjiaju 什么时候解决啊,我现在用fill填充,10w数据就内存溢出