花费很长时间使用POI生成excel文件

在我的项目中,我想生成一个85列的Excel文件,行将日益增加。

现在我有大约6Klogging。 而生成文件时,总是给我Java堆空间exception。

我的堆空间设置是

-Xmx2048M

-Xmx6144M

我的代码是

HSSFWorkbook workbook = new HSSFWorkbook(); HSSFSheet sheet = workbook.createSheet("FIELD OPERATIONS TRACKER"); for (int i=0; i < list.size(); i++) { HSSFRow rowHeader = sheet.createRow(i); HSSFCell cell = rowHeader.createCell(0); cell.setCellValue(list.get(i).getName()); cell = rowHeader.createCell(1); cell.setCellValue(list.get(i).getSeason()); //like this I have 85 columns here } 

请帮我提高执行力

如果您想创build.xlsx文件而不是.xls文件,只需用新的SXSSFWorkbook()replace新的HSSFWorkbook()

 Workbook wb = new SXSSFWorkbook(); 

在Apache POI的家伙做了很好的保持相同的东西。 只要使用接口,而不是像HSSFCell和HSSFRow的具体类。

您的项目中需要两个依赖项:

 <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>${apache.poi.version}</version> </dependency> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml</artifactId> <version>${apache.poi.version}</version> </dependency>