我需要自动调整大型(30k+行)xlsx文件中的所有行高。
以下代码通过apache poi在小文件上可以运行,但在大文件上会出现OutOfMemoryError
错误:
Workbook workbook = WorkbookFactory.create(inputStream);
Sheet sheet = workbook.getSheetAt(0);
for (Row row : sheet) {
row.setHeight((short) -1);
}
workbook.write(outputStream);
更新:不幸的是,增加堆大小不是一个选项 - 在 -Xmx1024m
处出现了 OutOfMemoryError
错误,而 30k 行并不是上限。