【问题标题】:Parse XLSX files in Java without external libraries?在没有外部库的情况下用 Java 解析 XLSX 文件?
【发布时间】:2012-05-01 17:46:14
【问题描述】:

快速问题 我被要求为 XLSX 文件格式创建几个解析器。我读过的几乎所有地方都说要获取 POI 库,但是我正在开发的系统对引入外部 API 非常敏感,所以我宁愿自己做一些额外的工作,然后沿着这条路走下去。

那么是否有可能(无需花费数天的编码时间)通过 SAXParser 来解析 XLSX 文件,或者如果我不使用 POI 库,我就是一个杯子吗?

干杯

* 更新 *

由于提取了 XLSX 文件并更好地查看了存档,我相信我现在可以解析这些文件而无需花费数天编码,我可能会在几个小时内提取信息。然而,我只想提取物理单元数据,而不是这些值的任何参考数据,即单元参考。我也在寻找提取 XLSX 元数据。完成后,我将快速回答我是如何做到这一点的,以供将来参考。

【问题讨论】:

  • 您是否考虑过查看 Apache POI 的源代码以了解其中涉及的工作量?尤其是 POI 提供的基于事件的解析

标签: java parsing apache-poi saxparser


【解决方案1】:

不花几天的编码……这是不可能的……你必须至少写两三天的代码……这只是一个 zip 文件,但是一堆 XML 文件和清单 xml

【讨论】:

    【解决方案2】:

    标准的 xlsx 文件不是 xml,所以不,这是不可能的。

    更正:Walter Laan 是正确的,xlsx 格式确实是一个充满 xml 的 zip 文件,应该相对容易解析

    【讨论】:

    • 这是一个 zip 文件中的一堆 XML 文件,所以可能,但可能不需要花费数天的编码。
    • Walter 是正确的,XLSX 是一个包含多个与样式、主题等相关的 XML 文件的存档容器......它们也高度结构化,因此解析应该相对简单!
    • 确实是我不知道
    【解决方案3】:

    我很有效地这样做了,但显然定制了我的 java 以读取特定的 xlsx XML 结构。

    要在 java 中打开 xlsx,请使用 ZipEntry API 并枚举该条目,以确保您深入了解所有各种文件夹结构。然后按照下面的指南阅读 XML:

    http://www.mkyong.com/java/how-to-read-xml-file-in-java-sax-parser/

    干杯

    【讨论】:

      猜你喜欢
      • 2013-10-22
      • 2016-05-12
      • 2014-04-06
      • 2012-03-23
      • 1970-01-01
      • 2021-11-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多