18
XML y Excel 1. QUÉ ES XML XML (eXtensible Markup Language , lenguaje extensible de marcado) es un meta-lenguaje que sirve para definir lenguajes de marcado o de etiquetas que podemos usar para diversas funciones. ¿Qué quiere decir esto? Significa que, a través de XML, podemos definir una serie de documentos que almacenen información de forma estructurada, de manera que nos resulte sencillo trabajar con estos datos desde cualquier aplicación informática. Es decir, que con XML crearemos los lenguajes y estructuras que nos servirán para almacenar datos de facturas, clientes, libros, etc. Además de XML y junto a él, existe otra serie de lenguajes y estándares que servirán para indicar cómo se deben mostrar los datos en las distintas aplicaciones; si deben sufrir alguna transformación al mostrarse en otros programas, etc. Utilizando XML, podremos definir cómo se tienen que almacenar los datos que necesitemos, así como almacenar los datos en sí mismos. Por ejemplo, aquí te muestro un pequeño fragmento de lo que podría ser un archivo XML, para que te hagas una idea de cómo está formado. Se compone de distintas etiquetas, que están incluidas entre los símbolos < y >. Office 2016 dispone de soporte a XML, de forma que puedes utilizar este formato para trabajar con datos entre aplicaciones, extraer ciertos datos provenientes de otras fuentes, etc. Veamos un pequeño ejemplo para que lo tengas más claro. Copyright © Computer Aided Elearning, S.A.

XML y Excel

  • Upload
    others

  • View
    9

  • Download
    0

Embed Size (px)

Citation preview

Page 1: XML y Excel

XML y Excel1. QUÉ ES XML

XML (eXtensible Markup Language, lenguaje extensible de marcado) es un meta-lenguaje quesirve para definir lenguajes de marcado o de etiquetas que podemos usar para diversas funciones.¿Qué quiere decir esto? Significa que, a través de XML, podemos definir una serie dedocumentos que almacenen información de forma estructurada, de manera que nos resultesencillo trabajar con estos datos desde cualquier aplicación informática. Es decir, que con XMLcrearemos los lenguajes y estructuras que nos servirán para almacenar datos de facturas, clientes,libros, etc.

Además de XML y junto a él, existe otra serie de lenguajes y estándares que serviránpara indicar cómo se deben mostrar los datos en las distintas aplicaciones; si deben

sufrir alguna transformación al mostrarse en otros programas, etc.

Utilizando XML, podremos definir cómo se tienen que almacenar los datos que necesitemos, asícomo almacenar los datos en sí mismos. Por ejemplo, aquí te muestro un pequeño fragmento delo que podría ser un archivo XML, para que te hagas una idea de cómo está formado. Se componede distintas etiquetas, que están incluidas entre los símbolos < y >.

Office 2016 dispone de soporte a XML, de forma que puedes utilizar este formato para trabajarcon datos entre aplicaciones, extraer ciertos datos provenientes de otras fuentes, etc.

Veamos un pequeño ejemplo para que lo tengas más claro.

Copyright © Computer Aided Elearning, S.A.

Page 2: XML y Excel

Imagina que, en tu trabajo, manejas una serie de datos entre distintas personas o departamentos.

Los formatos propios de los distintos programas de ordenador en ocasiones son incompatiblesentre sí, por lo que tendrías que transformar los documentos que contengan los datos en unformato adecuado para poderlos utilizar en todos los programas.

Pues bien, para compartir la información entre las distintas personas que la tengan que usar,podemos usar XML, ya que, de esta forma, los datos pueden ser leídos por las aplicaciones quesoportan este formato (que, en la actualidad, son muchas).

Además, XML puede organizar los datos de una forma relativamente sencilla y fácil de transmitir,incluso entre distintos sistemas operativos.

Por ejemplo, un empleado podría introducir cierta información desde su ordenador y almacenarlaen formato XML.

Desde otro ordenador podríamos acceder desde Excel a estos datos y analizarlos, crear gráficos,etc.

En este caso, el primer usuario (el que introducía los datos) no tiene por qué trabajar desde Excel.Incluso podría trabajar en un sistema operativo distinto de Windows.

Cuando acabáramos de trabajar con los datos y de realizar las modificaciones oportunas,podríamos exportar los resultados a XML, para que otro usuario los viera y trabajara con ellosdesde otra aplicación.

Además, XML es un lenguaje relativamente simple, por lo que los documentos XML sonsencillos de crear.

A pesar de esto, los documentos XML están estructurados o formalizados perfectamente.

El uso de un formato XML en los archivos de Office proporciona varias ventajas,entre las que figuran:

Reducción del tamaño de los archivos.Mejoras en la recuperación de datos en archivos dañados.Más control sobre la información personal.Mayor seguridad.

De esta forma, también se facilita compartir datos entre distintos programas y sistemasoperativos, ya que un archivo en formato XML puede ser leído por otro programa,accediendo a la información almacenada.

Recuerda que la extensión de los archivos de libros de Excel es xlsx, mientras que laextensión xlsm indica un libro que contiene macros.

XML y Excel

Copyright © Computer Aided Elearning, S.A.

Page 3: XML y Excel

Recuerda también que el formato por defecto que utiliza Excel para guardar sus libros estábasado en XML y se denomina Microsoft Office Open XML.

XML y Excel

Copyright © Computer Aided Elearning, S.A.

Page 4: XML y Excel

2. ASIGNACIONES XML

Para trabajar con datos XML en Excel, utilizamos lo que se llama asignación XML.

U n a asignación XML sirve para destinar celdas o rangos de celdas a los elementos deldocumento XML.

Para que entiendas mejor esto, primero te explicaré qué son los esquemas XML.

En un documento XML podemos tener almacenados una serie de datos.

También existe otra serie de documentos, que sirven para especificar la estructura que tiene queseguir este documento XML: los distintos elementos que tendrá, el tipo de datos que podráalmacenar, etc.

Los esquemas XML son más potentes que los DTD, ya que permiten especificar máscosas. Además, usan la misma sintaxis que XML, mientras que los DTD no.

Esta estructura del documento XML se puede almacenar en DTD (Document Type Definition,definición del tipo de documento) o en esquemas XML (XML Schemas).

Por ejemplo, aquí te muestro el aspecto que podría tener un documento XML que almacena lainformación de una serie de libros.

Como ves, se almacena información sobre el código del libro, el título y autor, el año, etc.

XML y Excel

Copyright © Computer Aided Elearning, S.A.

Page 5: XML y Excel

Un DTD que defina la estructura de este documento XML podría ser el que te muestro ahora...

...mientras que ahora aparece un esquema XML que sirve para especificar la estructura de estemismo documento XML.

Observa cómo, tanto en el DTD como en el esquema XML, indicamos los distintos campos deinformación que tiene cada libro.

Pues bien, Excel utiliza los esquemas XML para definir la estructura de los documentos XML.

Vamos a crear un documento XML a partir de los datos de esta hoja de cálculo. Paraello, utilizaremos una asignación XML.

XML y Excel

Copyright © Computer Aided Elearning, S.A.

Page 6: XML y Excel

Muestra la pestaña Desarrollador de la Cinta de opciones.

Esta pestaña Desarrollador no aparece por defecto en el entorno de Excel; recuerda quepuedes mostrarla a través del cuadro de las Opciones de Excel, activando la casilla adecuadaen la categoría Personalizar cinta de opciones.

En el grupo de comandos XML de la pestaña Desarrollador se encuentran los comandos queutilizaremos en el trabajo con datos y archivos XML.

Pulsa el botón Origen .

De esta forma se muestra el panel de tareas Origen XML, desde el que podremos trabajar condocumentos XML y realizar varias acciones relativas a este tipo de documentos.

XML y Excel

Copyright © Computer Aided Elearning, S.A.

Page 7: XML y Excel

Pulsa el botón Asignaciones XML, que está en la parte inferior de este panel.

En esta ventana aparecen las asignaciones XML que tiene el libro actual.

Como ves, aún no hay ninguna. Vamos a crear una.

Pulsa el botón Agregar.

Vamos a seleccionar un archivo que ya he creado y que contiene el esquema XML que define laestructura del documento XML que queremos crear.

Selecciona el archivo Libros.xsd y ábrelo.

Acepta la ventana.

Excel crea una asignación XML a partir del esquema que hemos indicado y la muestra en elpanel de tareas Origen XML.

Ahora podemos usar esta asignación XML para relacionar las celdas de la hoja de cálculo con loselementos del documento XML.

Luego utilizaremos esta asignación para exportar los datos a un documento XML.

Para asignar los elementos XML a la hoja de cálculo, arrástralos desde el panel Origen XMLhasta la posición en que se sitúan en la hoja de cálculo.

XML y Excel

Copyright © Computer Aided Elearning, S.A.

Page 8: XML y Excel

Arrastra el campo XML Codigo hasta la celda A4.

De esta forma, el campo Código de la lista de la hoja de cálculo estará asignado al elementoCodigo del documento XML.

Asigna el campo XML Titulo al campo Título de la lista de la hoja de cálculo.

Excel establece un formato de tabla en los datos de la hoja de cálculo, mostrando lapestaña contextual Diseño con los comandos y opciones relativos a la misma al situartedentro de ella.

De esta forma asignarías los campos que quisieras de la asignación a las celdas adecuadas de lahoja de cálculo.

He asignado el resto de campos del documento XML y aparece este mensaje al arrastar el campoPrecio.

Pulsa en la opción Usar el formato existente.

Puedes comprobar si Excel podrá exportar los datos XML a través de la asignaciónXML actual antes de proceder a esta exportación. Para ello, utiliza el enlace Comprobarasignación para exportar, que está en la parte inferior del panel Origen XML.

Ahora podríamos exportar los datos que tenemos en la hoja de cálculo a un documento XMLsiguiendo el esquema indicado.

De esta forma, podrías utilizar estos datos directamente desde cualquier programa que pueda leerdocumentos XML, sin necesidad de hacer ninguna transformación ni ninguna conversión.

XML y Excel

Copyright © Computer Aided Elearning, S.A.

Page 9: XML y Excel

Selecciona la pestaña Desarrollador de la Cinta de opciones.

Pulsa el botón Exportar de esta pestaña.

Escribe el nombre Libros y exporta los datos.

Con esto habremos creado el archivo Libros.xml, con los datos de la hoja de cálculo en formatoXML, según el esquema que habíamos indicado.

Veámoslo abriendo el documento exportado en un navegador.

El lenguaje XSL (Extensible Style Language, lenguaje de hojas de estilo extensible)permite definir cómo se mostrará un documento XML. Puedes tener varias hojas de estiloXSL, una para cada formato (HTML, PDF, RTF, etc.). Entonces, al abrir el documento XMLcon una aplicación, se aplicará la hoja de estilo adecuada al formato.

XML y Excel

Copyright © Computer Aided Elearning, S.A.

Page 10: XML y Excel

Por lo tanto, podemos decir que XSL es un lenguaje que transforma un documento XML,para poder verlo de una determinada forma en un determinado formato.

Si conoces el lenguaje CSS (Cascade Style Sheets, hojas de estilo en cascada), que se utilizapara las páginas web de Internet, es parecido a XSL, en el sentido que CSS indica cómomostrar los diferentes elementos de la página en el navegador.

Sin embargo, XSL es mucho más potente que CSS, ya que también puedes utilizarlo parafiltrar los datos según ciertas condiciones, ordenarlos, permite ejecutar bucles, operacioneslógicas, etc. Además, la salida no está limitada a ser mostrada en un navegador, sino quepuede ser en muchos formatos. XSL se parece más a un lenguaje de programación que CSS,pero tiene la desventaja de que es más complejo y consume más recursos que CSS.

Además, puedes utilizar el lenguaje XSL para indicar cómo se debe mostrar el documento en lasaplicaciones donde abras el archivo XML.

Ahora te mostraré el mismo documento XML, pero utilizando una descripción XSL.

Por ejemplo, en este caso he creado una hoja de estilo XSL que muestra el documento XML conuna determinada distribución y aspecto.

XML y Excel

Copyright © Computer Aided Elearning, S.A.

Page 11: XML y Excel

Cierra el navegador.

Ten en cuenta que en cualquier momento podrías añadir o modificar los datos desde Excel yvolverlos a exportar a XML, porque ya tienes definida la asignación adecuada.

Al establecer una asignación XML, también puedes guardar la hoja de cálculo actual como unarchivo de datos XML, seleccionando el tipo Datos XML (*.xml) en el cuadro de diálogo deGuardar como.

Ten en cuenta que de esta forma guardarás el libro como archivo de datos XML, por lo queperderás muchas de las características de Excel.

En este caso, puede ser muy útil que conserves una copia del archivo en formato de Excel.

XML y Excel

Copyright © Computer Aided Elearning, S.A.

Page 12: XML y Excel

3. IMPORTAR DATOS XML

Vamos ahora a ver otras funciones de Excel a la hora de trabajar con documentos XML. En estaocasión, imagina que queremos crear una factura de una empresa en Excel. Sin embargo, losdatos de la factura los introduce otro empleado desde un terminal donde no dispone de Excel.

En este caso, una solución a este problema podría ser que el empleado almacene la informaciónde la factura en formato XML.

Posteriormente importaremos los datos a Excel, desde donde podremos trabajar con ellos comoya sabemos.

Empezaremos creando el modelo de factura que utilizaremos en la empresa. Puedes utilizar lasherramientas de Excel que ya conoces. Ya he creado el modelo de factura que usaremos. Ahoravamos a establecer la asignación XML que utilizaremos para enlazar los campos del documentoXML, que contendrá los datos de la factura con las celdas de la hoja de cálculo.

Pulsa el botón Origen de la pestaña Desarrollador de la Cinta de opciones. Pulsa en

el botón Asignaciones XML. Pulsa en el botón Agregar. Selecciona el archivo Factura.xsdy pulsa en el botón Abrir. Acepta el cuadro de diálogo Asignaciones XML.

Ahora asignaremos las celdas de la hoja de cálculo a los elementos del esquema XML.

Arrastra el campo NumeroFactura del panel Origen XML hasta la celda B2. Pulsa en laetiqueta Opciones de encabezado que ha aparecido a la derecha de la celda.

Desde este menú puedes indicar si Excel incluirá un encabezado a la izquierda o encima de lacelda a la que has asignado el campo XML.

Como en este caso ya tenemos creado el encabezado o título del campo en la celda de laizquierda, no añadiremos ninguno más.

Pulsa la tecla para cancelar el menú abierto. El campo Empresa deberá estar asignado a la

celda B4. Indícalo.

Completaré la asignación de los elementos de la cabecera de la factura... Ahora asignaremos loselementos del pie de la factura que indican los totales de la misma.

Arrastra el campo Subtotal del panel Origen XML hasta la celda D19.

Estableceré la asignación de los otros dos campos... ¿Por qué hemos indicado estas asignacionesantes de las asignaciones de los campos de la lista de artículos? Lo hemos hecho así porqueahora vamos a indicar los campos de la lista de artículos de una sola vez y, de esta forma, Excelsabe hasta dónde llegará la lista de artículos: hasta donde hemos asignado el subtotal de lafactura.

XML y Excel

Copyright © Computer Aided Elearning, S.A.

Page 13: XML y Excel

El símbolo de la estrella que aparece en los iconos de la lista de campos indica queese es un campo requerido, es decir, obligatorio; mientras que el icono de una flecha

hacia abajo indica que es un campo repetido.

Como ves en la lista de campos, el campo Articulo indica un simple artículo de la factura, con lacantidad, la descripción, etc.

El campo Articulos indica todos los artículos que habrá en la factura, ya que este campo estácompuesto de varios campos Articulo.

Arrastra el campo Artículos hasta la celda A10.

Ya tenemos el modelo de factura que usaremos y los campos de la misma asignadosadecuadamente a los campos del documento XML en que recibiremos los datos.

Pulsa el botón Guardar para guarda el libro actual.

Pulsa en Examinar.

Indica el nombre Factura.xlsx y acepta.

Hemos guardado el documento en formato de libro de Excel.

Imagínate que ya hemos recibido los datos de una factura. Vamos a importarlos a Excel.

XML y Excel

Copyright © Computer Aided Elearning, S.A.

Page 14: XML y Excel

Pero primero indicaremos alguna otra opción.

Muestra la pestaña Desarrollador de la Cinta de opciones y pulsa el botón Propiedades de laasignación .

Por ejemplo, una opción interesante es la de Validación del esquema XML, que indicará siExcel validará los datos con la asignación XML al importar o exportar datos.

De esta forma, te puedes asegurar de que los datos cumplen el esquema XML que has utilizado.

Desde el apartado Al actualizar o importar los datos podrás indicar si, al importar o actualizarlos datos XML, los datos que haya en las celdas de la hoja de cálculo se sustituirán con los delarchivo XML o si los datos del archivo XML se añadirán a los que haya en la hoja de cálculo.

Desactiva la opción Ajustar el ancho de la columna, para que se mantenga el ancho de lascolumnas de la hoja de cálculo al importar los datos.

Acepta la ventana.

Para importar los datos desde un archivo XML, utiliza el botón Importar de lapestaña Desarrollador.

Pulsa el botón Importar de la Cinta de opciones.

Importa el archivo Factura2016058.xml, que es el que contiene los datos en formato XML.

Ahora puedes ver los datos de este archivo en la hoja de Excel.

XML y Excel

Copyright © Computer Aided Elearning, S.A.

Page 15: XML y Excel

Podrías hacer cualquier cálculo u operación con estos datos, crear gráficos, etc.

XML y Excel

Copyright © Computer Aided Elearning, S.A.

Page 16: XML y Excel

4. ABRIR DOCUMENTOS XML

Por último, veremos otra de las posibilidades de Excel: abrir documentos en formato XML.

El formato por defecto de los documentos de Excel 2016 está basado en XML, por lo que, alabrir un libro guardado de esta manera, se abrirá directamente en Excel, mostrando el contenidodel documento.

Sin embargo, para abrir otros tipos de documentos XML, podrás hacerlo de varias maneras.

Accede a la opción Abrir desde la vista Backstage. Pulsa en Examinar. Selecciona elarchivo Libros.xml y ábrelo.

Si eliges la opción Utilizar el panel de tareas Origen XML, para ver los datos del archivo XMLdeberás arrastrar los elementos a las celdas de la hoja de cálculo para asignarlos a celdas eimportando los datos.

Si, por el contrario, abres el archivo Como libro de solo lectura, podrás ver los datosdirectamente en Excel, pero perderás la estructura del archivo.

Acepta para abrir el archivo Como tabla XML.

Acepta el mensaje de Excel.

Como el archivo XML no hacía referencia a ningún esquema XML, Excel lo ha creadoautomáticamente a partir de los datos, y también ha establecido la asignación XML.

XML y Excel

Copyright © Computer Aided Elearning, S.A.

Page 17: XML y Excel

Ahora puedes trabajar con estos datos, crear gráficos o resúmenes con ellos, exportarlos, importarnuevos datos desde otro archivo XML que siga esta misma estructura, etc.

El botón Actualizar datos de la pestaña Desarrollador sirve para actualizar losdatos de la asignación XML, obteniendo estos datos del último archivo importado, mientras quecon Importar eliges el archivo XML desde el que obtendrás los datos.

XML (eXtensible Markup Language, lenguaje extensible de marcado) es un meta-lenguaje quesirve para definir otros lenguajes de marcado o de etiquetas. Con este lenguaje podremosalmacenar los datos que deseemos (personas, empresas, listas, etc.) de una forma estructurada yordenada.

A través de XML podemos compartir datos entre aplicaciones, ya que es un lenguaje soportadopor muchos programas.

El formato por defecto que utiliza Excel para guardar sus libros está basado en XML y sedenomina Microsoft Office Open XML.

Los esquemas XML (XML Schemas o XSD) establecen cuál es la estructura de los datos quese almacenan en el documento XML. A partir de un esquema XML, en Excel podemos crear unaasignación XML, que se utiliza para relacionar las celdas de una hoja de cálculo con los distintoselementos de un documento XML.

XML y Excel

Copyright © Computer Aided Elearning, S.A.

Page 18: XML y Excel

De esta forma, puedes importar de un documento XML a Excel sus datos o exportar los datosque tengas en la hoja de cálculo de Excel a un nuevo documento XML.

Para trabajar con datos y archivos XML en Excel, se utilizan las opciones del grupo decomandos XML, que está en la pestaña Desarrollador de la Cinta de opciones.

XML y Excel

Copyright © Computer Aided Elearning, S.A.