花费很长时间使用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>