【发布时间】:2011-03-11 04:04:16
【问题描述】:
我正在使用 JXL 编写一个 50000 行和 30 列的 excel 文件。 我的代码如下所示:
for (int j = 0; j
myWritableSheet.addCell(new Label(0, j, myResultSet.getString(1), myWritableCellFormat));
myWritableSheet.addCell(new Label(1, j, myResultSet.getString(2), myWritableCellFormat));
.....
.....
}
在编写单元格时,程序越来越慢
最后在第 25000 行出现以下错误:
线程“Thread-3”java.lang.OutOfMemoryError 中的异常:Java 堆空间 在 jxl.write.biff.WritableSheetImpl.getRowRecord(WritableSheetImpl.java:984) 在 jxl.write.biff.WritableSheetImpl.addCell(WritableSheetImpl.java:951) 在 KLL.ConverterMainFrame$exportToXLSBillRightsThread.run(ConverterMainFrame.java:6895)
在 Java 中处理内存总是很困难。
在这种情况下,这似乎是 jxl 的问题。
有没有办法写入文件,清除内存并继续每 1000 个单元格写入单元格?
这是个好主意还是您会提出什么其他解决方案?
【问题讨论】:
标签: excel memory memory-management cells jxl