使用Apache POI将行附加到具有低内存占用量的大型XLSX

时间:2016-12-15 01:40:14

标签: java apache-poi out-of-memory xlsx xssf

我一直在使用java和Apache POI将行附加到现有的XLSX工作簿。
问题是随着有问题的工作簿的增长,我的内存不足,-Xmx交换机只能提供帮助。

实际读取大型工作簿不是问题,因为我可以使用SAX事件API,并且编写大量新数据不是问题,因为这是由SXSSF处理的,但是我需要的是一些记忆效应的方法,可以将行附加到已经很大的工作簿上。

建议使用SXSSFWorkbook(XSSFWorkbook)构造函数,但我认为这仍然意味着将整个(已经很大的)工作簿加载到内存中。
还建议人们应该将工作簿作为文件加载,而不是使用输入流来保存内存,但是我假设我必须将所有内容写入一个全新的文件。

那么,这里是否有人知道使用Apache POI将行附加到现有(和大型)工作簿而不会耗尽内存?

0 个答案:

没有答案