POI 导出Excel GC overhead limit exceeded

在使用pio导出Excel的时候,数据量比较大,大概有30多万条数据。

利用了分sheet页的方法,每个sheet页5000条。

但是在导出的过程中,出现了错误 GC overhead limit exceeded。

这个错误,在网上一搜一大片。解决办法中都说到了改变jvm大小。如:

set JAVA_OPTS=-Xms512m -Xmx1024m -XX:PermSize=128M -XX:MaxNewSize=256m -XX:MaxPermSize=256m 

还有的说再加上 -XX:-UseGCOverheadLimit。

个人都测试了,都没起作用。很无奈。

在网上看到有人说可是使用 SXSSFWorkbook来试试。我看了看代码,代码中 使用的是:

Workbook workbook = new XSSFWorkbook();

索性试一试。改成Workbook workbook = new SXSSFWorkbook();

果然效果可以了,不再报错。特此记录一下

 

 

 

 

 

 

 

 

你可能感兴趣的:(POI)