2012-03-29 75 views
4

我有一个包含其中每列是一个字段的客户记录一个巨大的Excel电子表格。有一个名为Demographics的字段,其中包含客户的调查结果,它完全采用XML格式。这是每一个客户都有自己的性别一样人口统计信息,婚姻状况,收入,年龄等,这是在XML格式给出的调查结果。值得注意的是,整个XML就像是文字的,我不能用它来分析数据的电子表格单元格一大块。提取数据字段到Excel

现在的问题是我想提取每个客户的人口统计数据,并在同一个电子表格目前作为领域,即,每个客户都有一个年龄,性别,等等。我怎样才能做到这一点?我试图谷歌这一点,但似乎没有人有同样的问题。我正在使用Excel 2007/2010。

+0

您可以考虑编写可能能够在XML上运行XPAT查询并将其放入某个单元格的宏吗? – Kangkan 2012-03-29 12:20:20

+0

你看过编写自己的XSLT样式表吗? XSLT样式表是转换XML文档的标准,可以直接在样式表中编写XPATH语句来提取所需内容。 – markblandford 2012-03-29 13:30:18

回答

8

如果XML有一个扁平的结构是这样的:

enter image description here

你可能只是转换了“XML”列到一个XML文件,并重新导入到你的Excel工作表。要做到这一点,只是

副本& XML列粘贴到文本编辑器,

<customer><age>34</age><gender>m</gender></customer> 
<customer><age>38</age><gender>f</gender></customer> 

加开/关根元素,

<customers> 
    <customer><age>34</age><gender>m</gender></customer> 
    <customer><age>38</age><gender>f</gender></customer> 
</customers> 

,并保存为customers.xml

现在。其重新导入到Excel中,使用XML - >ImportDeveloper Tools丝带。基于“扁平化”的XML结构,Excel将用于单值创建列:

enter image description here

当然这会工作只有在XML结构是合适的,但如果这样做,它的作品没有写宏或手动解析“XML”文本内容。

+0

谢谢你的解决方案!它工作出色! :-) – Joe 2012-03-30 08:00:52