我正在尝试使用 JExcel 2.6.9 将 Web 应用程序中的结果集(100,000 行,45 列)写入 excel。
该过程失败:
Caused by:
java.lang.OutOfMemoryError - Java heap space
at jxl.write.biff.WritableSheetImpl.getRowRecord(WritableSheetImpl.java:1179)
我尝试了以下方法:
WorkbookSettings ws = new WorkbookSettings();
ws.setLocale(new Locale("en", "EN"));
ws.setUseTemporaryFileDuringWrite(true);
WritableWorkbook workbook = Workbook.createWorkbook(new File("tempExcel.xls"),ws);
所以基本上在一个while循环中,ResultSet
从数据库被迭代然后
s.addCell(new Label(colIndex, rowIndex, value, format));
为每一行完成。
我不确定如何通过这个问题。运行此应用程序的环境中存在内存限制,因此除非绝对没有其他方法,否则简单地为 JVM 分配更多 RAM 不是一种选择。我将不胜感激对此的任何反馈。谢谢