Excel 将 XML 单元格转换为列

Excel 将 XML 单元格转换为列

我有一个 Excel 电子表格,其中有一列 XML。我知道你可以导入 XML 数据导入 Excel;但只导入整个文件。但是,我需要逐个单元格地执行此操作。

使用 VBA 您可能可以做到这一点,但是在 Excel 中有没有可以做到这一点的常规方法?

编辑#1:

需要说明的是,我没有编写任何 VBA 代码来执行此操作,但我可以自己处理。我的问题是这是否是现有的功能,如“文本到列”。到目前为止,我尝试过谷歌搜索,但只找到了导入整个 XML 文件的示例。

答案1

看看 Excel 2013 的最新股票公式=WEBSERVICE=FILTERXML

以下是示例:在单元格 A1 中输入以下 Web 服务公式。它将检索约翰肯尼迪机场的最新天气。

=WEBSERVICE("http://www.aviationweather.gov/adds/dataserver_current/httpparam?dataSource=metars&requestType=retrieve&format=xml&hoursBeforeNow=3&mostRecent=true&stationString=KJFK")

在单元格 A2 中输入以下公式。它将使用 XPATH 解析 XML 数据以获取站点标识符KJFK。使用 XPATH 您应该能够提取所需的 XML 的任何部分。

=FILTERXML(A1,"/response/data/METAR/station_id")

答案2

我将把 XML 表“另存为”为文本文件(例如文件/保存和发送/更改文件类型/文本(制表符分隔)(*.txt))。

然后我会使用 Windows 资源管理器将文件扩展名更改为 .xml。然后您可以使用数据功能区 / 来自其他来源 / 来自 XML 数据导入将其导入 Excel。

相关内容