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

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

建议使用SXSSFWorkbook(XSSFWorkbook)构造函数,但我认为这仍然意味着将整个(已经很大的)工作簿加载到内存中 .
它's also been recommended that one should load the workbook as a File rather than using an input stream to preserve memory, however then I' m假设我必须将所有内容写入一个全新的文件 .

那么,这里有没有人知道使用Apache POI将行添加到已经存在的(和巨大的)工作簿而不会耗尽内存的方法?