Java 使用POI将大量XLSX文件转换为CSV期间的内存问题

Java 使用POI将大量XLSX文件转换为CSV期间的内存问题,java,performance,excel,apache-poi,Java,Performance,Excel,Apache Poi,这对我来说是一项非常具有挑战性的任务,因为我正在进行大量的研发,以便在XLSX转换为CSV的过程中摆脱OutOfMemyerror,我的excel文件可以有三张表,每张表有60000行。 我最近使用了XSSF和SAX(事件API),因为这种方法消耗的内存非常少。然而,事件API仅为文件中实际存储的内容触发事件,这可能是我的原因 在此事件API方法之前,我使用工作簿类处理XLSX文件,最终在下面提供的工作簿创建过程中内存不足 工作簿=WorkbookFactory.create(新文件(“myfi

这对我来说是一项非常具有挑战性的任务,因为我正在进行大量的研发,以便在XLSX转换为CSV的过程中摆脱OutOfMemyerror,我的excel文件可以有三张表,每张表有60000行。 我最近使用了XSSF和SAX(事件API),因为这种方法消耗的内存非常少。然而,事件API仅为文件中实际存储的内容触发事件,这可能是我的原因

在此事件API方法之前,我使用工作簿类处理XLSX文件,最终在下面提供的工作簿创建过程中内存不足

工作簿=WorkbookFactory.create(新文件(“myfile.xlsx”)


那么,使用ApachePOI处理大量XLSX数据的最佳方法是什么呢?

下面是一个使用sax解析器读取大型xls文件的示例。Sax解析器将帮助您避免OOM异常


这也是空白单元格的问题。但有些是如何使用CellReference类进行管理的。