aspose.cells报错java.lang.OutOfMemoryError: Java heap space

jvm设置:-Xms16G -Xmx16G -XX:+UseG1GC

问题:

大量的对单元格设置值
cells.get(r, c).setValue(value);
image.png (7.9 KB)

出现频繁FullGC,最终导致java.lang.OutOfMemoryError: Java heap space

有什么优化的建议吗?

可以设置缓存路径吗?可以将aspose.cells内存中的数据临时保持再磁盘中吗?

@baicai,

您可以在将大型数据集写入电子表格时尝试使用 MemoryPreference 选项,请参阅 [文档] 以供参考。

此外,如果您要按顺序写入大量单元格,您可以尝试使用我们的 LightCells API,请参阅 [文档] 以供参考。

如果您仍然无法评估您的问题,请与资源文件(如果有)共享您的示例控制台 JAVA 程序(可运行)以在我们这边重现该问题。 我们会尽快检查您的问题。

您好,在无输入xlsx文件时,该怎么使用这个MemoryPreference 选项
LoadOptions lo = new LoadOptions();
lo.setMemorySetting(MemorySetting.MEMORY_PREFERENCE);
// Workbook wb = new Workbook(“d:/test.xlsx”,lo);

Workbook wb = new Workbook(lo); //这种情况,该怎么使用MemoryPreference 选项呢?

@baicai,
您好,对于运行时的workbook对象,请使用Workbook.Settings.MemorySetting 来设置内存选项。请注意,设置Workbook.Settings.MemorySetting时不会影响已有的worksheet之前使用的内存模式,只会影响新建worksheet默认使用的内存模式。若修改已有的worksheet的内存模式,请使用Cells.MemorySetting来针对具体的worksheet进行设置。

谢谢,非常感谢!!!!!

@baicai,

不客气。