开发者

How can I export simple repeating data from excel as xml?

开发者 https://www.devze.com 2023-01-26 06:44 出处:网络
I\'m attempting to use the Excel 2007 XML Developers tools, but I\'m not able to export a simple set of simple repeating data.

I'm attempting to use the Excel 2007 XML Developers tools, but I'm not able to export a simple set of simple repeating data.

I have a worksheet with headers, and columns of data.

I have an xsd which describes (I think) a map of the data, with the first element repeating.

<?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="Recip开发者_JAVA百科ientTitle" type="xs:string" />
            </xs:sequence>
          </xs:complexType>
        </xs:element>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
</xs:schema>

And mapped that to the headings in my xml file.

How can I export simple repeating data from excel as xml?

But when I click Verify Map for Export I get the following error popup:

How can I export simple repeating data from excel as xml?

The elements are all mapped to the same page, and are all regular data columns.

How can I export simple repeating data from excel as xml?

What am I doing wrong? At this point would it be faster to write the naive VBA to create the XML?


I am not sure if this qualifies as an answer ... but your xsd worked OK for me.

Here is the exported 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>

Edit Screen capture

How can I export simple repeating data from excel as xml?


As per @Petoj's comment, try dragging the ns2:RevieweeInfo element onto the worksheet instead of each field individually.

This resolved this exact issue for me, but I had to create a separate worksheet first that only contained columns matching the target element's attributes.


Check out this blog on the same error.

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

It looks like it may be Excel "not seeing" all the data it needed to. His solution was to save the data file off to a CSV, then open that and try the import again. The major advantage I can see of doing that would be to strip any table formatting or funky data types out that may be tripping up Excel.

I also had to put my data next to each other in columns and ensure I was dragging the element icon onto the first row of data for the column (as opposed to the column name) to get my mapping right.

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号