【问题标题】:Best tools to create valid XML files from an Excel file从 Excel 文件创建有效 XML 文件的最佳工具
【发布时间】:2011-02-18 23:32:18
【问题描述】:

我需要创建一个脚本,从一个复杂的 Excel 2003 文件(在一个工作表中包含多个工作表和不同的表)中提取一些数据,并生成需要针对给定 XSD 文件进行验证的不同 XML 文件。

我的首选语言是 Python; 要创建和验证 XML 文件,我会使用 lxml
你对解析 XLS 文件有什么建议?
xlrd 是用于复杂 Excel 文件的正确工具吗?
还是我需要手动将所有表格转换成CSV格式,逐行读取文件,拆分和获取数据?

我也接受 C#、VB6、VBA 建议。

【问题讨论】:

  • 是.xslx Office 2007 格式吗?
  • 脚本或进程是否可以访问 Excel?

标签: c# python xml excel vb6


【解决方案1】:

我确信最简单的解决方案是使用 Excel VBA 和 MSXML 解析器。查看here 的一些链接,了解如何在 VBA 中使用 MSXML 解析器来读取 XML 文件;我认为你可以很容易地采用它来编写 XML 文件。

【讨论】:

    【解决方案2】:

    [免责声明:我是xlrd的作者]

    xlrd 非常适合这种工作。从PyPI 获取最新版本。从here 找到的教程中获取风味。 XLSX 支持处于 alpha 测试中;如果您需要,请给我发电子邮件。另存为 CSV 方法的尴尬和损失是促使我编写 xlrd 的原因之一。

    【讨论】:

      【解决方案3】:

      我无法回答 xlrd/python 是否是适合这项工作的工具 - 因为我对 python 的了解不够。

      但是有很多方法可以访问 Excel 数据...主要是您将 VBA 直接内置到 Excel 中。

      那么您就有了 Ado.net See David Hayden's article here,它允许您通过任何 DotNet 语言访问数据……甚至是 IronPython

      【讨论】:

      • Sheets 有多个表(不同行的标题),ADO 在这种情况下也可以工作吗?
      • 我尝试了 ADO.net,但对于复杂的工作表它失败了。将它们视为单独的工作表。 xlrd 正确地看到了它们,但是你必须导入 python :-)
      【解决方案4】:

      Xlrd 没问题。我们广泛使用它来导入充满参考和公式的 XLS 文件,其中包含以自定义(不是 Latin-1)编码呈现的多张表格和数据。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-03-16
        相关资源
        最近更新 更多