JExcel 2.6.9を使用して優れた結果セット(100,000行、45列)をWebアプリケーションから書き込もうとしています。
プロセスは次のように失敗します:
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
fromデータベースが繰り返されてから
s.addCell(new Label(colIndex, rowIndex, value, format));
行ごとに実行されます。
この問題をパスする方法がわかりません。このアプリケーションが実行されている環境にはメモリの制約があるため、他に方法がまったくない場合を除いて、JVMにより多くのRAMを割り当てることはできません。これについてのフィードバックをいただければ幸いです。ありがとう