Información acerca de Microsoft Excel 2002 y XML

Seleccione idioma Seleccione idioma
Id. de artículo: 288215 - Ver los productos a los que se aplica este artículo
Expandir todo | Contraer todo

Resumen

Excel 2002 le permite abrir y guardar archivos en el formato de lenguaje de marcado extensible (XML). Este artículo proporciona una introducción a XML y las hojas de estilos XML y cómo puede utilizarse con Excel. Se tratan los temas siguientes:

Más información

¿Qué es XML?

XML es un formato de texto para datos estructurados. Dado que XML es fácil de crear y interpretar, se utiliza en una amplia variedad de aplicaciones. Correcto, o correcta siguiente XML en un conjunto de directrices que dicta la estructura de datos aún proporciona la flexibilidad excelente de desarrollador XML para crear un número ilimitado de personaliza las etiquetas que mejor se describen los datos y relaciones que puedan existir dentro de los datos.

Al igual que HTML, XML es un lenguaje de marcado en el que se organiza el texto con una combinación de etiquetas (palabras entre corchetes angulares < y >) y atributos (el nombre de formulario = "valor"). Pero, mientras que HTML especifica lo que significa cada etiqueta y atributo y cómo debe procesarse para mostrar, XML utiliza las etiquetas sólo para delimitar elementos de datos. Dado que puede utilizar los nombres de etiqueta con XML, es a la entera discreción de una aplicación para interpretar los datos y su significado. Aunque los desarrolladores XML son libres para crear cualquier etiquetas o jerarquía que mejor se ajustan a sus datos, hay un conjunto de especificaciones que deben seguirse para garantizar que se considera el XML correcto . XML bien formado tiene las siguientes características:
  • Contiene exactamente un elemento de raíz con un nombre único que no aparece en cualquier otro elemento en el documento.
  • Elementos están anidados correctamente para que no las etiquetas se superponen entre elementos.
  • Se cierran todas las etiquetas de elemento.
  • Elemento iniciar y terminar el uso de etiquetas coherente caso (XML distingue entre mayúsculas y minúsculas).
  • Todos los atributos del elemento se incluyen entre comillas simples o dobles.
  • Caracteres especiales (como &, <, >) se definen como entidades integradas (&, <, >).
El siguiente es un ejemplo de código XML bien formado:
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="dictionary.xsl" ?>
<Dictionary>
  <Entries>
    <Entry>
      <Word Type="1">Energetic</Word>
      <Definition>Having, exerting, or displaying energy</Definition>
    </Entry>
    <Entry>
      <Word Type="1">Happy</Word>
      <Definition>Enjoying, displaying, or characterized by pleasure or joy</Definition>
    </Entry>
    <Entry>
      <Word Type="2">Emotion</Word>
      <Definition>A complex, strong subjective response</Definition>
    </Entry>
  </Entries>
</Dictionary>
				
figura 1 - ejemplo de XML bien elaborada (Dictionary.XML)
El XML en la figura 1 describe las entradas de un diccionario. El elemento raíz es <dictionary> y la raíz contiene un elemento secundario denominado <entries>. <entries> contiene tres elementos secundarios, cada uno de los cuales describe los datos de una entrada individual en el diccionario. Para cada entrada hay dos elementos secundarios: <word> y <definition>. El valor de cada elemento <Word> es la palabra en Sí; <Word> elementos también tienen un atributo de tipo que indica si la palabra es adjetivo o sustantivo (2) (1). <definition> elementos tienen un valor de texto y sin atributos.

¿Qué es una hoja de estilos XML?

Etiquetas XML describen los datos en un archivo de texto, pero XML sólo no especifica cómo deben se presentan los datos para el usuario. Reglas de formato para los datos XML a menudo se encuentran en las hojas de estilos XML. Las hojas de estilos XML son documentos XML correcto que utilice Extensible Style Language (XSL) para transformar datos XML para la presentación. Puede tener muchas hojas de estilo de los mismos datos XML. Mientras la estructura de datos XML real podría permanecen igual, hojas de estilo proporcionan flexibilidad para presentar los datos de muchas maneras diferentes.
<?xml version='1.0'?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl">
  <xsl:template match="/">
    <HTML>
      <BODY>
        <UL>
          <xsl:for-each order-by="+ Word" select="Dictionary/Entries/Entry">
            <LI>
              <B><xsl:value-of select="Word"/></B>
              <xsl:if test="Word[@Type='1']"><I>adj.</I></xsl:if>
              <xsl:if test="Word[@Type='2']"><I>n.</I></xsl:if>
              <BR/>
              <xsl:value-of select="Definition"/>
              <BR/><BR/>
            </LI>
          </xsl:for-each>
        </UL>
      </BODY>
    </HTML>
  </xsl:template>
</xsl:stylesheet>
				
figura 2: hoja de estilos XML (Dictionary.xsl)

Dictionary.xsl, que se muestra en la figura 2 es una hoja de estilos que puede utilizarse para transformar el ejemplo Dictionary.Xml. Los resultados de transformación en una presentación de HTML de los datos que pueden verse en un explorador Web. El XSL ordena las entradas de diccionario alfabéticamente en una lista con viñetas y formatos de cada componente de la entrada del diccionario. El XML transformado que se procesa en el explorador similar al siguiente:
  • expresión n.
    Una respuesta subjetiva compleja, segura

  • energético adjetivo
    Tener, ejerciendo o mostrar energía

  • Feliz adjetivo
    Disfrutando, mostrar o caracterizado por placer o alegría

Pruébelo : copiar y pegar el XML en la figura 1 en cualquier editor de texto y guárdelo como Dictionary.Xml. A continuación, copie y pegue la hoja de estilos XML en la figura 2 y guárdelo como Dictionary.xsl en la misma carpeta como Dictionary.Xml. Inicie Internet Explorer y vaya a Dictionary.Xml.

¿Cómo Excel convertir los archivos XML?

Excel puede abrir cualquier archivo XML que es correcto. Archivos XML se pueden abrir directamente desde el comando Abrir del menú archivo . También se pueden abrir archivos XML mediante programación utilizando el Abrir o OpenXML métodos de la colección Workbooks . Independientemente de si se abre el XML a través de código o a través de la interfaz de usuario (IU), el archivo está marcado como sólo lectura para que no puede reemplazar accidentalmente el archivo de origen original con uno de la XML Spreadsheet (XMLSS) format.

el aplanamiento de XML

En Excel, al importar XML que no está en el formato de hoja de cálculo XML (XMLSS), Excel utiliza un algoritmo especial simplificado para cargar los datos en filas y columnas. Hojas de cálculo de Excel son entidades bidimensionales consta de filas y columnas; dado que XML puede tener más de dos dimensiones, aplanar es necesario para interpretar el XML de forma que cargarlo en las celdas de una hoja de cálculo.

Tenga en cuenta los siguientes dos conjuntos de XML, que básicamente se representan los mismos datos de maneras diferentes:

<?xml version="1.0"?>
<Customer>
   <CustomerID>1234</CustomerID>
   <FirstName>John</FirstName>
   <LastName>Doe</LastName>
</Customer>
				
Figura 3: Cliente XML con elementos secundarios
<?xml version="1.0"?>
<Customer CustomerID="1234" FirstName="John" LastName="Doe"/>
				
figura 4: cliente XML con atributos
Si cargar el XML en la figura 3 en Excel, los datos se importan en las celdas como se muestra a continuación:

 ABC
1/Customer  
2/CustomerID/FirstName/LastName
31234JohnDoe

Excel trata los atributos exactamente como elementos secundarios. Para eliminar la colisión de nombre con los elementos existentes, Excel antepone el signo @ (arroba) al principio de los nombres de atributo para mantener la coherencia con los estándares de nomenclatura para los patrones XSL. Por lo tanto, se carga el XML en la figura 4 en las celdas de la misma manera, con la excepción que las celdas A2, B2 y C2 contienen "/@CustomerID", "/@FirstName" y "/@LastName", respectivamente.

El XML de cliente en las figuras 3 y 4 sigue una estructura bidimensional, que es fácil ver. Pero considere el siguiente código cliente XML, que no se fácilmente puede interpretar como bidimensional debido a la adición del nivel <order> de:

<?xml version="1.0"?>
<Customers>
  <Customer>
    <CustomerID>1234</CustomerID>
    <FirstName>John</FirstName>
    <LastName>Doe</LastName>
    <Orders>
      <Order ProdID="AAA" Amt="10"/>
      <Order ProdID="BBB" Amt="3"/>
    </Orders>
  </Customer>
  <Customer>
    <CustomerID>5678</CustomerID>
    <FirstName>Alice</FirstName>
    <LastName>Smith</LastName>
    <Orders>
      <Order ProdID="AAA" Amt="5"/>
    </Orders>
  </Customer>
</Customers>
				
Figura 5: Cliente XML con dos niveles inferiores del elemento raíz

En el XML en la figura 5, hay un cliente con dos pedidos y otro cliente con un pedido. Excel debe importar el XML de manera que se mantiene la relación entre pedidos y clientes. Excel importa el XML en tres filas, como se muestra a continuación:


 ABCDEFG
1/Customer      
2/Customer#id/Customer/CustomerID/Customer/CustomerID/#agg/Customer/FirstName/Customer/LastName/Customer/Orders/Order/@Amt/Customer/Orders/Order/@ProdID
3112341234JohnDoe10AAA
411234 JohnDoe3BBB
5256785678AliceSmith5AAA


Existen dos columnas adicionales: una columna #id que asocia la fila con el nodo <customer> y una columna de #agg representa lo que puede considerarse un "FillDown". Con #agg, el valor del primer nodo en el nivel por encima de él es aparece una vez y, a continuación, se omite para las filas restantes.

Observe también que la columna de <Amt> precede a la columna de <ProdID> aunque parece después <ProdID> en el XML real. El flattener carga los elementos en orden alfabético de izquierda a derecha, no en el orden natural en el que aparecen en el documento XML original.

hojas de estilos

Utilizar hojas de estilos, puede proporcionar ventajas significativas para abrir archivos XML en Excel. Utilizando una hoja de estilos, puede controlar mejor cómo se colocan datos en celdas y puede incluso ofrecer algún formato de las celdas. Cuando abre un archivo XML en Excel y que el archivo contiene una o más instrucciones de procesamiento xml-stylesheet , Excel le pide que seleccione la hojas de estilo que desee utilizar para la transformación.

Una vez más, considere el XML de cliente en la figura 5. Si agrega una instrucción de procesamiento al XML de cliente ( <? xml-stylesheet tipo = "text/xsl" href="Customer.xsl"? >), puede controlar qué columnas de los datos aparecen en la hoja de cálculo y aplicar el formato personalizado. El siguiente es un ejemplo de hoja de estilos que puede utilizarse como una transformación para el ejemplo XML del cliente.

<?xml version='1.0'?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
 <xsl:template match="/">
   <HTML>
     <HEAD>
       <STYLE>   
         .HDR { background-color:bisque;font-weight:bold }
         .CustomerRow { border-top:thin solid black }
       </STYLE>
     </HEAD>
  
     <BODY>
       <TABLE>
         <COLGROUP WIDTH="100" ALIGN="CENTER"></COLGROUP>
         <COLGROUP WIDTH="100" ALIGN="LEFT"></COLGROUP>
         <COLGROUP SPAN="2" WIDTH="80" ALIGN="CENTER"></COLGROUP>
         <TD CLASS="HDR">Customer ID</TD>
         <TD CLASS="HDR">Name</TD>
         <TD CLASS="HDR">Product ID</TD>
         <TD CLASS="HDR">Amount</TD>
         <xsl:for-each select="Customers/Customer">
           <TR>
             <TD CLASS = "CustomerRow">
               <xsl:value-of select="CustomerID"/>
             </TD>
             <TD CLASS = "CustomerRow">
               <xsl:value-of select="FirstName"/> <xsl:value-of select="LastName"/>
             </TD>
             <TD CLASS = "CustomerRow">
               <xsl:value-of select="./Orders/Order/@ProdID"/>
             </TD>
             <TD CLASS = "CustomerRow">
               <xsl:value-of select="./Orders/Order/@Amt"/>
             </TD>
           </TR>
           <xsl:for-each select="./Orders/Order">
             <xsl:if test="position() > 1">
               <TR>
                 <TD> </TD><TD> </TD>
                 <TD><xsl:value-of select="@ProdID"/></TD>
                 <TD><xsl:value-of select="@Amt"/></TD>
               </TR>
             </xsl:if>
           </xsl:for-each>
         </xsl:for-each>
       <TR><TD CLASS="CustomerRow" COLSPAN="4"> </TD></TR>
       </TABLE>
     </BODY>
   </HTML>
 </xsl:template>
</xsl:stylesheet>
Figura 6 - cliente XML StyleSheet (Customer.xsl)
La hoja de estilos transforma el XML en HTML válido (que Excel puede convertir en su formato nativo). Al abrir el XML de cliente con esta hoja de estilos aplicada, Excel muestra los datos como una tabla de cuatro columnas con encabezados (cliente, nombre, identificador de producto y Importe). También están presente en la tabla de formato como atributos de fuente, colores de fondo de celda y los bordes de celda.

Pruébelo : copiar y pegar el XML en la figura 5 en cualquier editor de texto y guárdelo como Customer.Xml. A continuación, copiar la hoja de estilos XML en la figura 6 y guárdelo como Customer.xsl en la misma carpeta como Customer.Xml. Inicie Excel 2002 y abra el archivo con y sin la hoja de estilos aplicados a ver las diferencias que hace la hoja de estilos.

solucionar errores al abrir los archivos XML

Si intenta abrir un archivo XML que no es correcto, recibirá una alerta o un "script Parse error". Cuando aparezca una alerta, proporciona una descripción de por qué no se pudo abrir el XML. La descripción de alerta también puede proporcionar detalles en el nodo que provocó la conversión a un error. En algunos casos en que hay un error de análisis, puede aparecer un cuadro de diálogo enumera los errores en lugar de un mensaje de alerta; los errores de análisis de secuencia de comandos se registran en un archivo denominado XMLErr.log en la carpeta Temp. Para examinar rápidamente el contenido de XMLErr.log, siga estos pasos:
  1. En un símbolo del sistema, escriba cd % temp % y presione ENTRAR. La carpeta actual cambia a la carpeta Temp.
  2. En el símbolo del sistema, escriba tipo xmlerr.log y presione ENTRAR para mostrar el contenido del archivo de registro.
Otro problema que pueden surgir al abrir el archivo XML es que aparece el Asistente para importar texto. Archivos XML son simplemente archivos de texto que se estructuran de una forma muy específica. Para que Excel reconoce que el archivo que está abriendo es XML y no texto sin formato, el primer elemento en el archivo XML debe ser una declaración XML que contiene, en un mínimo, el nombre reservado de xml y un número de versión. También debe contener al menos un elemento (el elemento raíz), el XML:
<?xml version="1.0"?>
<MyXML>
</MyXML>
				

La hoja de cálculo (con formato XML XMLSS)

Excel puede guardar libros en XML. Cuando guarda un libro como XML, Excel guarda el libro en el formato de hoja de cálculo XML (XMLSS). XMLSS describe el contenido del libro por celda conservar los datos y fórmulas, formatos de celda, configuración de la hoja de cálculo y configuración del libro. Sin embargo, algunas características de Excel no puede persistir en XML. Se incluyen:
  • Gráficos
  • Objetos OLE
  • Formas de dibujo o autoformas
  • Proyectos de VBA
  • Agrupar y esquema
XMLSS es un formato que es común a Excel 2002 y el componente de hoja de cálculo de Office XP, por lo que los archivos en XMLSS pueden compartirse entre los dos. También puede crear sus propias hojas de estilos para los archivos XMLSS transformar los datos a otro formato para que pueda ser compartir con cualquier número de aplicaciones.

Integración de XML en sus soluciones de Excel

El uso de datos XML, presenta el desarrollador con muchas oportunidades para soluciones de Excel 2002.

Por ejemplo, puede crear libros multisheet XMLSS en tiempo de ejecución sin la automatización de Excel (que requiere cargar el archivo ejecutable de Excel). Puesto que Excel es un servidor de automatización de fuera de proceso, llamadas a modelo de objetos de Excel puede disminuir el rendimiento en términos de rendimiento. Puede crear XMLSS completamente en proceso con sólo el XML Parser (MSXML) y las hojas de estilos XML. O bien, puede utilizar el componente de hoja de cálculo de Office XP (en proceso) para generar una hoja de cálculo y recuperar XMLSS para la hoja de cálculo. En cualquier caso, el XMLSS resultante puede abrirse directamente en Excel como un formato nativo. Por transmisión por secuencias XMLSS a los exploradores cliente mediante tipo de contenido de multipropósito de correo Internet (MIME) de Excel, las aplicaciones como las que utilice páginas Active Server (ASP) puede crear libros complejos sin la sobrecarga de Excel que se ejecutan en el servidor Web. Ejemplo utiliza código que muestra la posible de generación XMLSS, haga clic en los números de artículo siguientes para verlos en Microsoft Knowledge Base:

288130Cómo utilizar ASP para crear hoja de cálculo XML para el lado del cliente
285891Cómo utilizar Visual Basic o ASP para crear una hoja de cálculo XML para Excel 2002 y Excel 2003
Otro uso posible de XML en una solución de Excel es extraer datos de un rango de celdas en un formato que puede compartirse fácilmente con otras aplicaciones. Puede extraer XMLSS desde las celdas de una hoja de cálculo llamando a la propiedad Value del objeto Range con el parámetro xlRangeValueXMLSpreadsheet . Puede utilizar una hoja de estilos para transformar XMLSS a cualquier XML que puede utilizarse por otra aplicación. Un posible uso de esto consiste en transformar XMLSS XML personalizado que se pueden registrar y procesados por una aplicación Web. Para obtener un ejemplo de esta técnica, vea el artículo siguiente en Microsoft Knowledge Base:

278976Cómo utilizar XSL para transformar la hoja de cálculo XML de Excel para usarla de lado del servidor

Referencias

Para obtener más información, visite los siguientes sitios Web:
World Wide Web Consortium (W3C)
http://www.w3.org
Manual del programador de XSLT
http://msdn2.microsoft.com/en-us/library/ms759204.aspx
Información general XML
http://msdn2.microsoft.com/en-us/library/aa153035.aspx
XML Developer Center
http://msdn2.microsoft.com/en-us/xml/default.aspx

Propiedades

Id. de artículo: 288215 - Última revisión: viernes, 02 de noviembre de 2007 - Versión: 4.2
La información de este artículo se refiere a:
  • Microsoft Excel 2002 Standard Edition
Palabras clave: 
kbmt kbinfo KB288215 KbMtes
Traducción automática
IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.
Haga clic aquí para ver el artículo original (en inglés): 288215

Enviar comentarios

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com