我有非常大的xls文件,其中包含两个工作表 . 我想将这两个表合并为一个并复制到新工作簿 . 但是当我尝试访问这个大型xls时,我的内存异常如下:
FileInputStream fis = new FileInputStream(new File("input.xls"));
HSSFWorkbook workbook = new HSSFWorkbook(fis);
我尝试使用事件api for xls:http://poi.apache.org/spreadsheet/how-to.html#event_api但是使用它我们只能读取单元格值 . 但在这里我需要复制到新的Excel工作表 .
1 回答
Apache POI提供了一个低内存占用SXSSF API来将数据写入xlsx . 它不会立即将所有内容加载到内存中,因此它是处理非常大的excel文件时的解决方案 . 你可能想考虑这个 .