我怎样才能从Excel导出简单的重复数据为XML?

我正在尝试使用Excel 2007 XML开发人员工具,但我无法导出一组简单的重复数据。

我有一个包含标题和数据列的工作表。

我有一个xsd描述(我认为)的数据的地图,第一个元素重复。

<?xml version="1.0" encoding="utf-8"?> <xs:schema targetNamespace="http://tempuri.org/FeedbackLookup.xsd" elementFormDefault="qualified" xmlns="http://tempuri.org/XMLSchema.xsd" xmlns:mstns="http://tempuri.org/XMLSchema.xsd" xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="FeedbackLookup"> <xs:complexType> <xs:sequence> <xs:element name="RevieweeInfo" maxOccurs="unbounded"> <xs:complexType> <xs:sequence> <xs:element name="RevieweeName" type="xs:string"> </xs:element> <xs:element name="RevieweeTitle" type="xs:string"> </xs:element> <xs:element name="ReviewLevel" type="xs:string"> </xs:element> <xs:element name="RecipientName" type="xs:string" /> <xs:element name="RecipientEmail" type="xs:string" /> <xs:element name="RecipientTitle" type="xs:string" /> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:schema> 

并将其映射到我的xml文件中的标题。

Excel XML窗格

但是,当我点击Verify Map for Export我得到以下错误popup窗口:

映射元素与其他元素的关系无法保存

这些元素都映射到相同的页面,都是常规的数据列。

Excel标题行

我究竟做错了什么? 在这一点上,编写简单的VBA创buildXML会更快吗?

我不确定这是否符合答案…但是您的xsd对我来说工作正常。

这里是导出的xml:

 <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <ns1:FeedbackLookup xmlns:ns1="http://tempuri.org/FeedbackLookup.xsd"> <ns1:RevieweeInfo> <ns1:RevieweeName>1</ns1:RevieweeName> <ns1:RevieweeTitle>1</ns1:RevieweeTitle> <ns1:ReviewLevel>1</ns1:ReviewLevel> <ns1:RecipientName>1</ns1:RecipientName> <ns1:RecipientEmail>1</ns1:RecipientEmail> <ns1:RecipientTitle>1</ns1:RecipientTitle> </ns1:RevieweeInfo> <ns1:RevieweeInfo> <ns1:RevieweeName>2</ns1:RevieweeName> <ns1:RevieweeTitle>2</ns1:RevieweeTitle> <ns1:ReviewLevel>2</ns1:ReviewLevel> <ns1:RecipientName>2</ns1:RecipientName> <ns1:RecipientEmail>2</ns1:RecipientEmail> <ns1:RecipientTitle>2</ns1:RecipientTitle> </ns1:RevieweeInfo> </ns1:FeedbackLookup> 

编辑屏幕截图

替代文字

根据@Petoj的评论,尝试将ns2:RevieweeInfo元素拖到工作表上,而不是单独的每个字段。

这为我解决了这个确切的问题,但我必须首先创build一个单独的工作表,只包含匹配目标元素的属性的列。

看看这个博客上的错误。

http://itbadass.blogspot.com/2010/11/converting-excel-to-xml-mapped-elements.html

它看起来可能是Excel“看不见”所有需要的数据。 他的解决scheme是将数据文件保存为CSV,然后打开并再次尝试导入。 我所看到的主要优点是可以去除任何表格式或时髦的数据types,这些数据types可能会跳过Excel。

我也必须把我的数据在列中相邻,并确保我拖动元素图标到列的第一行数据(而不是列名)以获得我的映射权。