2010-11-23 22 views
6

Estoy intentando utilizar las herramientas de Desarrolladores XML de Excel 2007, pero no puedo exportar un conjunto simple de datos repetitivos simples.¿Cómo puedo exportar datos repetidos simples de excel como xml?

Tengo una hoja de trabajo con encabezados y columnas de datos.

Tengo un xsd que describe (creo) un mapa de los datos, con el primer elemento que se repite.

<?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> 

Y asignada que los títulos en mi archivo XML.

Excel XML Pane

Pero cuando hago clic Verify Map for Export me sale el siguiente error emergente:

A mapped element's relationship with other elements cannot be preserved

Los elementos están asignadas a la misma página, y son todas las columnas de datos regulares.

Excel Header Row

¿Qué estoy haciendo mal? En este punto, ¿sería más rápido escribir el ingenuo VBA para crear el XML?

+0

Disculpa la duración, pero creo que toda la información es necesaria. –

+1

Tengo este problema cuando arrastro todos los campos por su cuenta, al arrastrar el ns2: RevieweeInfo ¡no tuve ningún problema! – Peter

Respuesta

2

No estoy seguro de si esto califica como una respuesta ... pero su xsd funcionó bien para mí.

Aquí es el XML exportado:

<?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> 

Editar captura pantalla

alt text

+0

¿Tenía encabezados y más de una fila de datos, o solo una fila de los mismos? –

+0

@C. Ross publicó Exportar resultado con dos filas –

+0

@belisarius, si no es pedir demasiado, ¿puede controlar su mapeo y agregar eso a su respuesta? –

0

Según @ comentario de Petoj, intente arrastrar el ns2: Elemento RevieweeInfo en la hoja de trabajo en lugar de cada uno campo individualmente

Esto resolvió este problema exacto para mí, pero primero tuve que crear una hoja de trabajo separada que solo contenía columnas que coinciden con los atributos del elemento de destino.

0

Echa un vistazo a este blog con el mismo error.

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

Parece que puede ser Excel "no ver" todos los datos que necesitaba. Su solución fue guardar el archivo de datos en un archivo CSV, luego abrirlo e intentar la importación de nuevo. La principal ventaja que puedo ver de hacer eso sería quitar cualquier formato de tabla o tipos de datos funky que puedan estar tropezando con Excel.

También tuve que poner mis datos uno al lado del otro en columnas y asegurarme de arrastrar el ícono del elemento a la primera fila de datos para la columna (en oposición al nombre de la columna) para obtener mi mapeo correcto.

Cuestiones relacionadas