因此,我正在开发一款需要经常阅读大型XLSX文件的应用。我正在使用Java,并且Apache POI在某些XLSX文件上的内存不足。我知道这是一种使用POI进行XML解析的方法,但它看起来非常混乱。
将这些文件重新保存为另一种格式(XLS,CSV)不是一种选择,因为整个过程需要自动化,其中一些文件有多张或超过为XLS文件分配的行数。
我还考虑过编写一个脚本来重现" excel文件只包含基础数据,但这并不理想,因为某些文件需要保留格式。
我可以从Java调用哪些语言可以读取大型XLSX文件而没有内存问题?
答案 0 :(得分:1)
@Gus,我遇到了同样的问题。我不得不阅读一个13MB的XLSX并用传统的POI用完了。我必须实现XSSF + SAX API来读取文件。虽然起初很难理解,但我能够轻松地阅读我的XLSX文件(也很快)。
http://poi.apache.org/spreadsheet/how-to.html#xssf_sax_api
Apache人员举例说明了它在链接中的用法。在我的情况下,我复制了代码并根据我的需要进行了调整。