0

我使用 Apache POI HSSF API for Java 生成一个长长的报告作为 XLS 文件。问题是 date 真的很大,在调用之前我的记忆失败了wb.write(out);。所以我想知道是否有某种方法可以直接或定期存储 XLS 报告的信息。

4

2 回答 2

2

您可以尝试使用最新版本的 POI 3.8 beta 并查看 SXSSF 模型,我知道他们在从 xlsx 读取时试图帮助内存使用,但我不确定它在写入时如何工作。不过可能值得一看。

除此之外,我认为您唯一的选择是使用 -Xmx 为 JVM 增加堆空间。

我希望这有帮助!

于 2011-07-28T17:29:55.630 回答
0

您需要关闭工作簿对象..确保其超出范围并再次重新打开文档..System.gc()关闭文档后调用可能会有所帮助。

最好增加分配给 java的最大内存(堆空间)以获得更好的结果。

于 2011-07-28T17:30:21.973 回答