将xml转换为xls

时间:2012-06-26 08:25:40

标签: xml excel vba xls

我正在寻找有关如何实现将基于Web的XML数据导入电子表格的方法的想法。理想的解决方案是每次打开时都会更新电子表格,只需很少或没有用户交互(例如,我不想告诉人们运行宏)。

但是,我的第一个想法(也可能是我最终会想到的)是一个Perl脚本,它下载XML,解析它并吐出电子表格 - 这不会更新电子表格而且我会有在某种类型的时间表上生成文档(是的,我更喜欢完全自动化并编写自己的工作:))。我(我想)想要的是用于接受URI的XML的odbc,这可能是理想的。这样,也许我可以将XPath映射到列,电子表格每次打开时都会自动更新。或者,也许在VBA中有一种方法可以获取URI并解析XML并在工作簿打开时运行它?

2 个答案:

答案 0 :(得分:0)

xml文件在哪里?这个位置修复了吗?

如果是,您可以在Excel中为此xml文件创建一个dataconnection。

然后设置xml连接以在excel文件打开时刷新。

答案 1 :(得分:0)

使用DOM解析XML文件,然后将相关值吐出到工作表中。这是一个简单的工作示例,可以帮助您入门:

Dim d As DOMDocument
Dim n As IXMLDOMNode
Dim s As String

Set d = New DOMDocument
d.async = False 
d.Load "http://www.democracynow.org/podcast-video.xml" ' or "C:\myfile.xml"

Set n = d.SelectSingleNode("//channel/description")
s = n.Text
Range("A1") = s

这种早期绑定需要一个参考集如下: 工具>参考文献...> Microsoft XML

请注意d.async = False强制加载完成后再继续;这在加载远程文件时尤为重要。

你想要

  

每次打开时都会更新电子表格,只需很少或没有用户互动(即,我不想告诉人们运行宏)。“

然后将宏放入Workbook_Open事件中!这就是它的用途。