java - 有没有可以与java集成的语言可以有效地读取大型XLSX文件?

标签 java excel apache-poi xlsx

所以我正在开发一个需要经常读取大型 XLSX 文件的应用程序。我使用的是 Java,Apache POI 在某些 XLSX 文件上总是出现内存不足的情况。我知道有一种用 POI 解析 XML 的方法,但它看起来很困惑。

不能将这些文件重新保存为其他格式(XLS、CSV),因为整个过程需要自动化,并且其中一些文件具有多个工作表或超出为 XLS 文件分配的行数。

我还考虑过编写一个脚本来仅使用基础数据“重新创建”Excel 文件,但这并不理想,因为某些文件需要保留某些格式。

我可以从 Java 调用任何可以读取大型 XLSX 文件而不会出现内存问题的语言吗?

最佳答案

@Gus,我也遇到了同样的问题。我必须读取 13MB XLSX,并且用传统 POI 耗尽了堆。我必须实现 XSSF+SAX API 来读取文件。虽然一开始很难理解,但我可以用它轻松读取我的 XLSX 文件(而且速度也很快)。

http://poi.apache.org/spreadsheet/how-to.html#xssf_sax_api

Apache 人员在链接中给出了它的用法示例。就我而言,我复制了代码并根据我的需要进行了调整。

关于java - 有没有可以与java集成的语言可以有效地读取大型XLSX文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27005996/

相关文章:

java - Apache POI 缺少动态库 libfreetype.so

java - 无法读取名称为 : [xx] in namespace ['default' ] Ignoring 的配置映射

java - apache poi - 多次循环同一数组

java - 当 exec (i/j) 和 (i % j) 时,jvm 会执行一还是两次计算?

excel - 在单元格中获取组合框值?

visual-studio - 找出与 VB(MSVisualStudio 2005) 和 VBA(Excel) 的不同之处

excel - 检查是否有任何索引匹配结果符合条件

java - Apache poi 居中对齐

java - 如何在Java中自动将输入字符转换为大写

JavaFX 3D - 如何为 Group with 3D object 和 SubScene with UI Controls 设置不同的相机?