将Excel文件转换为有效XML文件的最佳工具

3 投票
4 回答
2071 浏览
提问于 2025-04-15 22:39

我需要写一个脚本,从一个复杂的Excel 2003文件中提取一些数据。这个文件里有多个工作表,而且每个工作表里还有不同的表格。提取的数据需要生成不同的XML文件,并且这些XML文件要能通过一个给定的XSD文件进行验证。

我比较喜欢用Python;为了创建和验证XML文件,我会选择lxml这个库。
你有什么建议可以用来解析XLS文件吗?
xlrd这个工具适合处理复杂的Excel文件吗?
还是说我需要手动把所有的工作表转换成CSV格式,然后逐行读取文件,分割数据并提取信息?

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

4 个回答

1

我相信,完成这个任务最简单的方法是使用Excel的VBA和MSXML解析器。你可以查看这里,里面有一些关于如何在VBA中使用MSXML解析器来读取XML文件的链接;我觉得你可以很容易地把这个方法改用来写XML文件。

2

Xlrd这个工具很好用。我们经常用它来导入包含很多引用和公式的XLS文件,这些文件有多个工作表,并且数据是用自定义的编码格式(不是拉丁编码)来呈现的。

2

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

xlrd非常适合处理这种任务。你可以从PyPI下载最新版本。想要了解更多,可以查看这里的教程。现在对XLSX格式的支持还在测试阶段;如果你需要,可以给我发邮件。使用“另存为CSV”的方法有些笨拙,而且会丢失一些信息,这也是我写xlrd的原因之一。

撰写回答