jueves, 4 de noviembre de 2021

Extracción de datos de un origen XML online en Microsoft Excel

 Hasta ahora hemos visto cómo usar la función SERVICIOWEB y XMLFILTRO de Microsoft Excel por separado.

Hoy veremos la potencia de unir ambas funciones.

Usaremos servicio web para recuperar un documento XML de una dirección web y posteriormente usaremos XML filtro para borrar un dato de el fichero XML recuperado.

Insertamos la función servicio web desde el asistente de funciones incluimos la dirección de Open Data que podéis ver a continuación.


=SERVICIOWEB("https://opendata.euskadi.eus/contenidos/ds_informes_estudios/dwc_dataset_103/opendata/eml.xml")


Una vez que pulsamos aceptar se mostraran los datos en la celda de la hoja de cálculo.

Para poder ver un poco mejor los datos será necesario modificar ancho y alto de la celda así como alineación tanto horizontal como vertical.


Aquí se muestra el resultado y la función en la barra de fórmulas.


A continuación en la celda B1 insertamos también con el asistente de funciones la función XMLFILTRO.

Esta función tiene dos parámetros el primero de ellos es el fichero XML y el segundo la ruta.

En este caso el fichero XML será el resultado de recuperar el documento XML de la dirección web con la función SERVICIOWEB.


Aquí podéis ver el fichero XML copiado en un editor de texto.


La moción que usaremos es la mostrada a continuación.

=XMLFILTRO(A1;"//dataset/title")

En ella buscamos dentro del dataset la primera etiqueta title.

Vemos la función en la barra de fórmulas.


En este esquema podéis ver cómo los datos llegan hasta la celda B1.



La ventaja de recuperar documento XML con la función servicio web es que solo con actualizar la hoja de cálculo tendremos los datos refrescados en tiempo real desde la web.

Una posible aplicación de este sistema es usar servicio web para realizar una llamada a una API que nos conecte a una web o base de datos y recuperar la información directamente en la hoja de cálculo.

No hay comentarios:

Publicar un comentario