如何在不增加虚拟机的情况下用java读取大型excel文件



如何在不增加JVM(如-Xmx1G)的情况下,使用POI库读取java中超过10张的大型(95+MB)excel工作簿。如果我们在不增加VM的情况下运行jar文件,则会出现OutOfMemory错误。我如何在编码本身而不是增加VM时优化这个问题?

没有任何巧妙的"优化"可以让您继续使用当前的方法并使用更少的内存运行。

您需要更改程序,使其不会将整个工作簿加载到内存中。

作为@M。Deinum指出,Apache POI提供了一种处理Excel文件的替代方法,在该方法中,您可以获得一系列解析器事件,而不是整个电子表格的内存表示。从内存中的模型切换到基于事件的模型将需要对应用程序进行大量的重新编码。但如果你买不起内存,你就没有其他实用的选择了。

最新更新