Microsoft Office Excel facilita la importación de datos XML (Lenguaje de marcado extensible)creados a partir de otras bases de datos y aplicaciones para asignar elementos XML de un esquema XMLa celdas de una hoja de cálculo y para exportar datos XML revisados con vistas a la
interacción con otras bases de datos y aplicaciones. Estas características XML convierten a Office Excel en un generador de archivos de datos XML con una interfaz de usuario familiar.
En este artículo
¿Por qué utilizar XML en Excel? Archivos de datos y esquema XML Situaciones clave de XML y Excel
Proceso básico para el uso de datos XML en Excel Trabajar con asignaciones XML
Utilizar el panel de tareas Origen XML Tipos de elementos y sus iconos Trabajar con celdas de asignación única Trabajar con celdas de repetición en tablas XML Consideraciones de seguridad sobre las asignaciones XML Importar datos XML
Trabajar con un esquema deducido Exportar datos XML
Utilizar el formato de archivo XML abierto de Office habilitado para macros de Excel
¿Por qué utilizar XML en Excel?
XML es una tecnología diseñada para administrar y compartir datos estructurados en un archivo de texto legible para el usuario. XML se ajusta a las directrices estándar del sector y puede ser procesado por una amplia gama de bases de datos y aplicaciones. El uso de XML permite a los diseñadores de aplicaciones crear sus propias etiquetas personalizadas, estructuras de datos y esquemas. Para resumir, XML facilita considerablemente la definición, la transmisión, la validación y la interpretación de datos entre bases de datos, aplicaciones y organizaciones.
ARCHIVOS DE DATOS Y ESQUEMA XML
Excel trabaja básicamente con dos tipos de archivos XML:• Archivos de datos XML (.xml), que contienen las etiquetas personalizadas y los datos estructurados.
• Archivos de esquema (.xsd), que contienen etiquetas de esquema que imponen las reglas, como el tipo de datos y la validación.
NOTA El estándar XML también define los archivos
XSLT (Lenguaje de transformación basado en hojas de estilo)(.xslt), que se utilizan para aplicar estilos y transformar datos XML a diferentes formatos de presentación. Es posible aplicar estas transformaciones antes de importar los archivos XML a Excel y después de exportarlos desde Excel. Si los archivos XSLT están vinculados a archivos de datos XML que se importan a Excel, se tiene la opción de aplicar o no el formato antes de agregar los datos a la hoja de cálculo, aunque únicamente
Información general sobre XML en Excel
Corresponde a: Microsoft Office Excel 2007
cuando el archivo XML se abre mediante el comando Abrirdel botón de Microsoft
Office .
SITUACIONES CLAVE DE XML Y EXCEL
Con XML y Excel, es posible administrar libros y datos de formas que anteriormente
resultaban imposibles o muy difíciles. Gracias a las asignaciones XML, es posible
agregar, identificar y extraer partes concretas de datos comerciales de los
documentos de Excel con facilidad. Por ejemplo, una factura que contenga el
nombre y la dirección de un cliente o un informe que contenga los resultados
financieros del último trimestre ya no son informes estáticos. Esta información se
puede importar fácilmente desde bases de datos y aplicaciones, revisar y exportar a
las mismas bases de datos y aplicaciones o a otras distintas.
Las características de XML están diseñadas para las siguientes situaciones clave:
• Aumentar la funcionalidad de las plantillas existentes de Excel al asignar
elementos XML a celdas existentes. Eso facilita la especificación y la
extracción de datos XML en las plantillas sin necesidad de volver a
diseñarlas.
• Utilizar datos XML como entrada para los modelos de cálculo existentes al
asignar elementos XML a las hojas de cálculo existentes.
• Importar archivos de datos XML a un nuevo libro.
• Importar datos XML de un servicio Web a la hoja de cálculo de Excel.
• Exportar datos de las celdas de asignación a archivos de datos XML
independientes de otros datos del libro.
Proceso básico para el uso de datos XML en Excel
El siguiente diagrama muestra cómo los diferentes archivos y operaciones trabajan
conjuntamente cuando se utiliza XML con Excel. Básicamente, el proceso se
compone de cinco fases:
Agregar un archivo de esquema XML (.xsd) a un libro
Asignar elementos de esquema XML a celdas individuales o tablas XML
Importar un archivo de datos XML (.xml) y enlazar los elementos XML con
celdas de asignación
Especificar datos, mover celdas de asignación y aprovechar la
funcionalidad de Excel sin perder la estructura y las definiciones XML
Exportar datos revisados desde celdas de asignación a un archivo de
Trabajar con asignaciones XML
El usuario puede crear o abrir un libro en Excel, adjuntar un archivo de esquema XML (.xsd) a ese libro y, a continuación, utilizar el panel de tareas Origen XMLpara asignar elementos XML del esquema a celdas individuales o tablas. Después de asignar los elementos XML a la hoja de cálculo, puede importar y exportar datos XML a o desde las celdas de asignación.
Cuando se agrega un archivo de esquema XML (.xsd) al libro, se crea una asignación XML. En general, las asignaciones XML se utilizan para crear celdas de asignación y para administrar la relación entre éstas y elementos individuales del esquema XML. Además, estas asignaciones XML se utilizan para enlazar el contenido de las celdas de asignación con los elementos del esquema al importar o exportar archivos de datos XML (.xml).
Se pueden crear dos tipos de celdas de asignación: celdas de asignación única y celdas de repetición (que aparecen como tablas XML). Para que el diseño de la hoja de cálculo resulte más flexible, puede arrastrar las celdas de asignación a cualquier lugar de una hoja de cálculo y en cualquier orden, incluso uno distinto al del esquema XML. También es posible decidir qué elementos se van a asignar y cuáles no.
Es importante conocer las siguientes reglas acerca del uso de las asignaciones XML:
• Un libro puede contener una o más asignaciones XML.
• Sólo se puede asignar un elemento a una ubicación de un libro cada vez.
• Cada asignación XML es una entidad independiente, aunque haya varias
asignaciones XML en el mismo libro que se refieran al mismo esquema.
• Una asignación XML sólo puede incluir un elemento raíz. Si se agrega un
esquema que defina más de un elemento raíz, se le pedirá que decida cuál
de ellos se va a utilizar para la nueva asignación XML.
UTILIZAR EL PANEL DE TAREAS ORIGEN XML
Utilice el panel de tareas Origen XMLpara administrar asignaciones XML. Para abrirlo, en la ficha Programador, en el grupo XML, haga clic en Origen. El siguiente diagrama muestra las principales características de este panel de tareas.
Muestra las asignaciones XML que se han agregado al libro
Muestra una lista jerárquica de los elementos XML de la asignación XML que
Establece opciones cuando se trabaja con el panel de tareas Origen XMLy los datos XML, por ejemplo cómo obtener una vista previa de los datos y controlar los
encabezados
Abre el cuadro de diálogo Asignaciones XML, que se puede utilizar para agregar o eliminar asignaciones XML o cambiarles el nombre
Comprueba si es posible exportar los datos XML por medio de la asignación
XML actual
TIPOS DE ELEMENTOS Y SUS ICONOS
La siguiente tabla contiene cada tipo de elemento XML con el que puede trabajar Excel, así como el icono que se utiliza para representarlo.
TIPO DE ELEMENTO ICONO
Elemento principal
Elemento principal obligatorio
Elemento principal de repetición
Elemento principal de repetición obligatorio
Elemento secundario
Elemento secundario obligatorio
Elemento secundario de repetición
Elemento secundario de repetición obligatorio
Atributo
Atributo obligatorio
Contenido simple de una estructura compleja
Contenido simple obligatorio de una estructura compleja
TRABAJAR CON CELDAS DE ASIGNACIÓN ÚNICA
Una celda de asignación única es una celda que se ha asignado a un elemento XML que no es de repetición. Una celda de asignación única se crea al arrastrar un elemento XML que no es de repetición desde el panel de tareas Origen XMLa una celda única de la hoja de cálculo.
Cuando se arrastra un elemento XML que no es de repetición a la hoja de cálculo, es posible utilizar una etiqueta inteligente para optar por incluir el nombre de dicho elemento XML como encabezado por encima o justo a la izquierda de la celda de asignación única o emplear un valor de celda existente como encabezado.
En una celda de asignación única también es posible utilizar una fórmula, siempre que la celda esté asignada a un elemento XML con un tipo de datos XSD que Excel interprete como un número, una fecha o una hora.
TRABAJAR CON CELDAS DE REPETICIÓN EN TABLAS XML
El aspecto y la funcionalidad de las tablas XML son parecidos a los de las tablas de Excel. Una tabla XML es una tabla de Excel que se ha asignado a uno o más elementos XML de repetición. Cada columna de la tabla XML representa a un elemento XML.
Las tablas XML se crean al:
• Utilizar el comando Abrir(en el botón de Microsoft Office ) para abrir
un archivo de datos XML y, a continuación, seleccionar Como tabla XMLen
el cuadro de diálogo Abrir XML.
• Utilizar el comando Desde importación de datos XML(desde el botón De
otros orígenesdel grupo Obtener datos externos, en la ficha Datos) para
importar un archivo de datos XML y, a continuación, seleccionar Tabla XML
en la hoja de cálculo existenteu Hoja de cálculo nuevaen el cuadro de
diálogo Importar datos.
• Arrastrar uno o más elementos de repetición desde el panel de tareas
Origen XMLa una hoja de cálculo.
Cuando se crea una tabla XML, los nombres de los elementos XML se utilizan
automáticamente como encabezados de columna. Es posible cambiarlos por
cualquier encabezado de columna que se desee. No obstante, los nombres
originales de los elementos XML siempre se utilizan al exportar datos de las celdas
de asignación.
Existen dos opciones del botón Opcionesdel panel de tareas Origen XMLque
resultan de utilidad para trabajar con tablas XML:
• Combinar elementos automáticamente al asignar Si está activada,
Excel crea una tabla XML a partir de varios campos a medida que se colocan
en la hoja de cálculo. Esta opción funciona siempre que esos diversos
campos se coloquen en la misma fila, uno junto al otro. Si la opción está
desactivada, cada elemento aparece como su propia tabla XML.
• Mis datos tienen título Si está activada, los datos de encabezado
existentes se utilizan como encabezados de columna de los elementos de
repetición que se asignan a la hoja de cálculo. Si la opción está desactivada,
los nombres de los elementos XML se utilizan como encabezados de
columna.
Con las tablas XML, resulta sencillo importar, exportar, ordenar, filtrar e imprimir
datos basados en un origen de datos XML. No obstante, las tablas XML tienen
algunas limitaciones relacionadas con la forma en que se pueden organizar en la
hoja de cálculo.
• Las tablas XML se basan en las filas, lo que significa que crecen a partir del
encabezado hacia abajo. No es posible agregar nuevas entradas por encima
de las filas existentes.
• No se puede transponer una tabla XML de modo que las nuevas entradas se
agreguen a la derecha.
Es posible utilizar fórmulas en columnas asignadas a elementos XML con un tipo de
datos XSD (Definición de esquemas XML) que Excel interprete como un número,
una fecha o una hora. Al igual que ocurre en una tabla de Excel, las fórmulas de una
tabla XML se rellenan hacia abajo cuando se agregan nuevas filas a la tabla.
CONSIDERACIONES DE SEGURIDAD SOBRE LAS ASIGNACIONES
XML
Tanto la asignación XML como su información de origen de datos se guardan con el
libro de Excel y no con una hoja de cálculo concreta. Un usuario malintencionado
puede ver esta información de asignación mediante una macro de Microsoft Visual
Basic para Aplicaciones (VBA). Además, si el libro se guarda como un archivo de
formato XML abierto de Office habilitado para macros de Excel, esta información de
asignación se puede visualizar con el Bloc de notas de Microsoft o cualquier otro
programa de edición de texto.
Si desea seguir utilizando la información de asignación pero quitar la información de
origen de datos que pueda ser confidencial, puede eliminar la definición del origen
datos en el librodel cuadro de diálogo Propiedades de la asignación XML,
disponible en el comando Propiedades de la asignacióndel grupo XMLde la ficha
Programador.
Si elimina una hoja de cálculo antes de eliminar una asignación XML, la información
de asignación, aquélla sobre orígenes de datos y probablemente otra información
confidencial, seguirá estando guardada en el libro. Si va a actualizar el libro para
quitar información confidencial, asegúrese de eliminar la asignación XML antes de
eliminar la hoja de cálculo, de modo que la información de asignación se elimine de
forma permanente del libro.
IMPORTAR DATOS XML
Es posible importar datos XML a una asignación XML existente en el libro. Cuando
se importan datos, los datos del archivo se enlazan con una asignación XML
almacenada en el libro. Eso significa que cada elemento de datos del archivo de
datos XML tiene un elemento correspondiente en el esquema XML que se ha
asignado desde un archivo de esquema XML o un esquema deducido. Cada
asignación XML sólo puede tener un enlace de datos XML; un enlace de datos XML
está enlazado con todas las asignaciones creadas desde una única asignación XML.
Puede abrir el cuadro de diálogo Propiedades de la asignación XML(haga clic en
Propiedades de la asignaciónen el grupo XMLde la ficha Programador), que
tiene tres opciones activadas de forma predeterminada que sirven para controlar el
comportamiento de un enlace de datos XML:
• Validar datos con el esquema para importar y exportar Especifica si
Excel valida los datos con el esquema XML al importar datos. Haga clic en
esta opción si desea asegurarse de que los datos XML que importe se
ajustan al esquema XML.
• Sobrescribir los datos existentes con los nuevos Especifica si los datos
se sobrescriben al importar datos. Haga clic en esta opción si desea sustituir
los datos actuales por datos nuevos, por ejemplo, si hay datos actualizados
en el nuevo archivo de datos XML.
• Anexar los nuevos datos a las tablas XML existentes Especifica si el
contenido del origen de datos se anexa a los datos existentes en la hoja de
cálculo. Haga clic en esta opción, por ejemplo, si está consolidando datos de
varios archivos de datos XML parecidos en una tabla XML o si no desea
sobrescribir el contenido de una celda que contiene una función.
Al importar datos XML, es posible que desee sobrescribir algunas celdas asignadas
pero no otras. Por ejemplo, algunas de ellas pueden contener fórmulas, por lo que
no desea sobrescribir la fórmula al importar un archivo XML. Hay dos soluciones:
• Cancelar la asignación de los elementos que no desea sobrescribir antes de
importar los datos XML. Después de importar los datos XML, puede volver a
asignar el elemento XML a las celdas que contienen las fórmulas para poder
exportar los resultados de las mismas al archivo de datos XML.
• Crear dos asignaciones XML a partir del mismo esquema XML. Utilice una
asignación XML para importar los datos XML. En esta asignación XML
"Importación", no asigne elementos a las celdas que contienen fórmulas o a
otros datos que no desee sobrescribir. Utilice otra asignación XML para
exportar los datos. En esta asignación "Exportación", asigne los elementos
que desea exportar a un archivo XML.
NOTA La característica que permitía importar datos XML de un servicio Web mediante un archivo de conexión de servicio de recuperación de datos (.uxdc) para
conectarse a un origen de datos ya no es compatible con Microsoft Office Excel
2007 mediante la interfaz de usuario. Si abre un libro creado en Office Excel 2003,
TRABAJAR CON UN ESQUEMA DEDUCIDO
Si importa datos XML sin haber agregado un esquema XML correspondiente para crear una asignación XML, Excel intentará deducir un esquema basándose en las etiquetas definidas en el archivo de datos XML. El esquema deducido se almacena con el libro y permite trabajar con datos XML si no hay ningún esquema XML asociado con el libro.
Cuando se trabaja con datos XML importados que tienen un esquema deducido, también es posible personalizar el panel de tareas Origen XML. Si ha importado datos XML asociados a la asignación XML en la sesión actual de Excel, active la opción Vista previa de los datos en el panel de tareasdel botón Opcionespara mostrar la primera fila de datos como datos de ejemplo en la lista de elementos. No es posible exportar el esquema deducido de Excel como un archivo de datos de esquema XML (.xsd) independiente. Aunque existen editores de esquemas XML y otros métodos para crear un archivo de esquema XML, es posible que no disponga de acceso a estos editores o no sepa cómo utilizarlos. Como alternativa, puede utilizar la versión 1.1 del complemento Herramientas XML de Excel 2003, que permite crear un archivo de esquema a partir de una asignación XML. Para obtener más información, vea el tema sobre cómo usar el complemento Herramientas XML de Excel 2003 XML, versión 1.1.
EXPORTAR DATOS XML
La exportación de datos XML se lleva a cabo al exportar el contenido de las celdas de asignación de la hoja de cálculo. Cuando se exportan datos, Excel aplica las siguientes reglas para determinar qué datos se guardan y cómo:
• No se crean elementos vacíos cuando hay celdas en blanco para un elemento opcional, aunque sí cuando hay celdas en blanco para un elemento obligatorio.
• Para escribir los datos se utiliza codificación UTF-8 (Unicode Transformation Format-8).
• Todos los espacios de nombre se definen en el elemento XML raíz. • Excel sobrescribe los prefijos del espacio de nombre existentes. Al nombre
de espacio predeterminado se le asigna un prefijo ns0. Los espacios de nombre sucesivos son ns1, ns2 a ns<recuento>donde <recuento>es el número de espacios de nombre escritos en el archivo XML.
• Los nodos de comentarios no se conservan.
Puede abrir el cuadro de diálogo Propiedades de la asignación XML(haga clic en Propiedades de la asignaciónen el grupo XMLde la ficha Programador) y, a continuación, utilizar la opción Validar datos con el esquema para importar y exportar(activada de forma predeterminada) para especificar si Excel valida los datos con la asignación XML al exportar datos. Haga clic en esta opción cuando desee garantizar que los datos XML que exporte se ajusten al esquema XML.