Si tienes un XML de pedidos, de una API o de una factura y quieres abrirlo en Excel, tienes cuatro caminos y la elección depende de cómo viene el archivo. Esta guía te lleva de la mano por los cuatro: abrir un XML sencillo que Excel aplana solo, convertirlo a XLSX fuera cuando es grande o está muy jerarquizado, importarlo con el mapa XML de la pestaña Desarrollador y sacar datos puntuales con XMLFILTRO (FILTERXML). Al terminar sabrás cuál usar en cada caso y por qué. Funciona en Excel 2013, 2016, 2019, 2021, 2024 y Microsoft 365. En Excel para la web hay partes que no están disponibles, y se avisa en su momento.
Qué es un XML y por qué no se abre directamente en Excel
Un XML es un archivo de texto con etiquetas que describen datos jerárquicos. Piensa en una factura: tiene un <cliente>, dentro una <dirección>, y dentro varias <linea> con <producto>, <cantidad> y <precio>. Esa estructura de árbol es lo que hace que un XML sea potente para intercambiar datos entre sistemas, y lo que hace que al hacer doble clic encima Excel no sepa qué hacer con él.
Cuando abres un XML a pelo en Excel, lo que ves depende del archivo. Si las etiquetas se repiten en el mismo nivel, Excel lo aplana en una tabla automáticamente. Si están anidadas o el archivo es grande, lo más normal es que veas un muro de texto o que Excel te pregunte cómo quieres abrirlo. La pregunta real del lector es: «¿cómo lo convierto en una hoja con columnas y filas?». La respuesta corta: depende de la forma del XML, y hay cuatro caminos que se explican en las secciones siguientes.
Cómo Excel entiende el XML: importación, esquema y XPath
Excel 2013, 2016, 2019, 2021, 2024 y Microsoft 365 traen de fábrica el camino oficial para trabajar con XML: la pestaña Desarrollador, los comandos de mapa XML y la función XMLFILTRO. El esquema se basa en tres piezas que se pueden cruzar: el archivo .xml con los datos, un archivo .xsd que describe la estructura esperada y un archivo .xslt que aplica una transformación.
La idea central es esta: si tienes el .xml solo y es pequeño, Excel puede abrirlo y mostrarlo como tabla. Si además tienes el .xsd, Excel puede mapear los campos en celdas concretas y refrescar los datos cuando cambien. Y si quieres sacar un dato puntual sin importar todo, la función XMLFILTRO (FILTERXML) lee el XML y una expresión XPath devuelve lo que pides.
Los tres archivos que se cruzan: .xml, .xsd y .xslt
El .xml contiene los datos: cada elemento es una etiqueta, cada atributo es un dato, y la jerarquía refleja la realidad (un pedido tiene líneas, cada línea tiene producto y cantidad). El .xsd es el esquema: define qué elementos existen, en qué orden y de qué tipo. Es como un molde que dice «aquí va un cliente, aquí una fecha, aquí una línea». El .xslt es una transformación: recibe el árbol XML y lo reescribe en otra forma, por ejemplo para aplanarlo a una tabla antes de importarlo.
En la práctica, con el XML solo basta cuando el archivo es pequeño y plano, como un listado de pedidos con tres líneas. Con el .xsd llegas más lejos: Excel entiende la estructura, te deja arrastrar campos a celdas y actualiza los datos cuando el XML cambia. El .xslt se usa cuando la transformación que necesitas no es trivial, por ejemplo para quedarse solo con las líneas y descartar la cabecera.
La función XMLFILTRO para sacar datos sin importar todo
XMLFILTRO (FILTERXML) extrae datos concretos de un XML con una expresión XPath. Está en Excel 2013 y posteriores, pero no en Excel para la web. La sintaxis es:
=XMLFILTRO(xml; xpath)
El primer argumento es el XML como texto (puede ser el contenido de una celda o una cadena entre comillas). El segundo es la expresión XPath que apunta al nodo que quieres. Por ejemplo, si la celda A1 guarda la respuesta XML de una API de tipos de cambio y quieres el valor del primer nodo <rate> dentro de <rates>:
=XMLFILTRO(A1; "//rates/rate[1]")
Si en tu Excel sale #¿NOMBRE?, la función no está disponible en tu versión; en Excel para la web no existe y hay que importar el XML primero.
Abrir un XML sencillo en Excel sin tocar nada
Cuando el XML es pequeño y los elementos del mismo nivel se repiten, Excel lo aplana solo al abrirlo. Vamos a probarlo con un archivo de tres pedidos que tienen tres líneas cada uno.
- Guarda este contenido en un archivo de texto plano llamado
pedidos.xml:
<?xml version="1.0" encoding="UTF-8"?>
<pedidos>
<pedido id="P001">
<cliente>Distribuciones Norte</cliente>
<fecha>2026-01-12</fecha>
<linea><producto>Cuaderno</producto><cantidad>10</cantidad><importe>32,00</importe></linea>
<linea><producto>Boligrafo</producto><cantidad>25</cantidad><importe>12,50</importe></linea>
<linea><producto>Goma</producto><cantidad>15</cantidad><importe>12,00</importe></linea>
</pedido>
<pedido id="P002">
<cliente>Papeleria Centro</cliente>
<fecha>2026-01-15</fecha>
<linea><producto>Carpeta</producto><cantidad>8</cantidad><importe>56,00</importe></linea>
<linea><producto>Grapas</producto><cantidad>30</cantidad><importe>4,50</importe></linea>
<linea><producto>Tijeras</producto><cantidad>5</cantidad><importe>22,50</importe></linea>
</pedido>
<pedido id="P003">
<cliente>Libreria Sur</cliente>
<fecha>2026-01-18</fecha>
<linea><producto>Rotulador</producto><cantidad>40</cantidad><importe>36,00</importe></linea>
<linea><producto>Celofan</producto><cantidad>12</cantidad><importe>9,60</importe></linea>
<linea><producto>Clips</producto><cantidad>100</cantidad><importe>5,00</importe></linea>
</pedido>
</pedidos>
- Doble clic sobre
pedidos.xml. Si Excel te pregunta cómo abrirlo, elige «Como tabla XML». Si se abre en otro programa, clic derecho > Abrir con > Excel. - Excel muestra el contenido del XML y avisa de que es un archivo XML. Pulsa Aceptar.
- La hoja queda con este aspecto:
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | id | cliente | fecha | producto | cantidad | importe |
| 2 | P001 | Distribuciones Norte | 2026-01-12 | Cuaderno | 10 | 32,00 |
| 3 | P001 | Distribuciones Norte | 2026-01-12 | Boligrafo | 25 | 12,50 |
| 4 | P001 | Distribuciones Norte | 2026-01-12 | Goma | 15 | 12,00 |
| 5 | P002 | Papeleria Centro | 2026-01-15 | Carpeta | 8 | 56,00 |
| 6 | P002 | Papeleria Centro | 2026-01-15 | Grapas | 30 | 4,50 |
| 7 | P002 | Papeleria Centro | 2026-01-15 | Tijeras | 5 | 22,50 |
| 8 | P003 | Libreria Sur | 2026-01-18 | Rotulador | 40 | 36,00 |
| 9 | P003 | Libreria Sur | 2026-01-18 | Celofan | 12 | 9,60 |
| 10 | P003 | Libreria Sur | 2026-01-18 | Clips | 100 | 5,00 |
<linea> con los campos del pedido repetidos. Si ves todo el texto del XML en una columna, tu XML no tiene nodos repetidos al mismo nivel: pasa al método de la sección siguiente.Convertir los textos en números y fechas en la misma hoja
Es habitual que al abrir el XML los importes lleguen como texto. La columna importe se ve como 32,00 pero al sumarla da 0. El truco clásico es Texto en columnas sobre esa columna, pero también sirve multiplicar por 1 con Pegado especial. Vamos a usar Texto en columnas, que es lo limpio.
- Selecciona el rango E2:E10 (la columna
importe). - Abre:
- En el paso 1 del cuadro, deja «Delimitado» y pulsa Siguiente.
- En el paso 2, desmarca todas las casillas de separadores y pulsa Siguiente.
- En el paso 3, marca «General» y pulsa el botón:
importe ahora se alinea a la derecha y =SUMA(E2:E10) da 190,10. La fecha de la columna C sigue como texto en algunas versiones; en ese caso, selecciónala y aplica el mismo asistente eligiendo el formato «DMA» en el paso 3.XML grande o anidado: convertirlo fuera de Excel y traer el XLSX
Cuando el XML es grande, está muy anidado o no se aplana al abrirlo, lo más rápido es pasarlo por un conversor web que lo deje como XLSX (o CSV) y abrir el resultado en Excel. Esto evita que Excel se atasque interpretando miles de nodos y te garantiza una hoja con columnas y filas.
- Entra en un conversor de XML a XLSX en el navegador (por ejemplo, los conversores online que admiten arrastrar y soltar).
- Sube el archivo XML.
- Elige como formato de salida XLSX y pulsa convertir.
- Descarga el archivo
.xlsxresultante. - Ábrelo en Excel: doble clic sobre el archivo descargado.
- Si solo necesitas los datos en otra hoja, cópialos y pégalos con Pegado especial para traer solo los valores:
Elegir XLSX, XLS o CSV según el tamaño del archivo
El formato de salida del conversor importa: cada uno tiene un límite de filas y columnas, y no todos guardan igual la información.
XLSX
XLS
CSV
La regla práctica: si el dataset tiene menos de un millón de filas y necesitas formatos o varias hojas, XLSX. Si el receptor trabaja con Excel antiguo, XLS. Si el dataset pasa del millón de filas o solo importas valores, CSV.
Antes de pegar, revisar cómo viene el XML convertido
El conversor deja los campos del pedido solo en la primera fila y las líneas repetidas debajo, igual que al abrir un XML sencillo. Lo importante es revisar que las cabeceras no contengan el prefijo del espacio de nombres XML (por ejemplo ns0:cliente) y que las fechas y los importes se hayan convertido a un formato que Excel reconozca.
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | id | cliente | fecha | producto | cantidad | importe |
| 2 | P001 | Distribuciones Norte | 12/01/2026 | Cuaderno | 10 | 32,00 |
| 3 | P001 | Distribuciones Norte | 12/01/2026 | Boligrafo | 25 | 12,50 |
Importar un XML con el mapa XML de Excel
Cuando recibes el mismo XML cada día o cada semana y siempre con la misma estructura, lo mejor es crear un mapa XML en Excel: defines una vez dónde va cada campo y, cuando cambie el archivo, pulsas un botón para refrescar. Esto está en la pestaña Desarrollador, disponible en Excel 2013, 2016, 2019, 2021, 2024 y Microsoft 365.
- Crea un libro nuevo en blanco.
- Ve a la pestaña Desarrollador > XML > Origen para abrir el panel de tareas Origen XML.
- En el panel, pulsa el botón Mapas XML > Agregar y selecciona un archivo
.xsdque describa tu XML (o el propio XML si ya trae esquema interno). - Excel muestra los elementos del esquema como una lista. Arrastra
id,cliente,fecha,linea(y los hijos de línea) desde el panel hasta las celdas B2, C2, D2, etc., colocándolos en una fila de encabezados. - Pulsa Desarrollador > XML > Importar y elige el archivo
pedidos.xml.
Activar la pestaña Desarrollador si está oculta
La pestaña Desarrollador viene oculta por defecto. Para mostrarla:
- Ve a Archivo > Opciones > Personalizar cinta de opciones.
- En la columna de la derecha «Pestañas principales», marca la casilla Desarrollador.
- Pulsa Aceptar.
Añadir el esquema .xsd y crear el mapa
Si tienes un .xsd válido, el mapeo es fiable. Si solo tienes el XML, Excel puede crear un esquema a partir de él al importarlo, pero no siempre deduce los tipos correctamente (por ejemplo, trata los números como texto).
- En el panel Origen XML, pulsa Mapas XML > Agregar.
- Selecciona el archivo
.xsd. - Confirma con Aceptar.
pedido, cliente, fecha y linea listos para arrastrar.Refrescar el XML cuando cambian los datos
Cuando recibas un XML nuevo con la misma estructura:
- Selecciona una celda dentro del rango importado.
- Pulsa Desarrollador > XML > Importar.
- Elige el archivo nuevo.
Por qué el XML se ve raro al abrirlo o al pegar
Cuatro tropiezos típicos al pasar un XML a Excel, con la causa exacta y el arreglo.
Todo el XML en una columna o en una sola fila
Excel abre el archivo como texto plano porque los nodos del mismo nivel no se repiten lo suficiente para que los detecte como tabla.
| A | |
|---|---|
| 1 | `<?xml version=`"`1.0`"`?><pedidos><pedido id=`"`P001`"`><cliente>Distribuciones Norte</cliente>…` |
La causa: el XML es irregular o muy anidado. La solución: pasa por un conversor externo como en la sección anterior y trae el XLSX resultante.
Importar deja la hoja en blanco o solo con el primer registro
El mapa XML está bien definido, pero pulsas Importar sin tener una celda seleccionada dentro del rango de destino. Excel importa a partir de la celda activa y, si está fuera del rango mapeado, el resultado se va a otro lugar.
Solución: haz clic en la celda A1 (o la celda inicial del rango) antes de pulsar Importar.
Los números llegan como texto y no se suman
=SUMA(E2:E10) da 0 aunque ves 32,00 en E2. La causa: el XML almacena el importe como texto, con coma decimal, y Excel lo mantiene así.
Solución 1, con función:
=VALOR(SUSTITUIR(E2; ","; "."))
Solución 2, multiplicar por 1 con Pegado especial (Ctrl+Alt+V, Multiplicar).
32,00; con punto decimal es 32.00 y no hace falta SUSTITUIR.#¿NOMBRE? al usar XMLFILTRO en Excel para la web
La función XMLFILTRO (FILTERXML) no está disponible en Excel para la web. Si la usas allí, ves #¿NOMBRE? en la celda.
Solución: importa primero el archivo con uno de los métodos de las secciones anteriores y trabaja con BUSCARV o BUSCARX sobre la hoja resultante.
Lo que Excel hace y lo que no con un XML
La documentación oficial de Microsoft explica con claridad qué hace Excel con XML y qué queda fuera.
Lo que Excel sí puede con XML
- Abrir un archivo
.xmly mostrarlo como tabla si la estructura lo permite. - Importar un
.xmla una hoja con un mapa XML definido. - Exportar una hoja a
.xmlusando un mapa XML. - Aplicar una transformación
.xsltal importar. - Releer el mismo mapa cuando los datos cambien.
- Extraer datos puntuales con XMLFILTRO (FILTERXML) usando XPath.
Lo que Excel no hace y conviene resolver fuera
- Abrir
.docx,.odtu otros formatos que no sean.xml. - Convertir un documento Word en una hoja de Excel.
- Aplanar un XML arbitrario sin esquema y sin estructura regular.
- Ejecutar macros VBA en Excel para la web (allí se usa Office Scripts).
- Aplicar la función XMLFILTRO en Excel para la web.
Lo que ya sabes hacer con XML en Excel y el siguiente paso
- Reconoces cuándo un XML se aplana solo al abrirlo y cuándo no.
- Sabes pasar un XML grande o anidado por un conversor y traer el XLSX.
- Sabes crear un mapa XML en la pestaña Desarrollador para refrescar datos periódicamente.
- Conoces XMLFILTRO (FILTERXML) para sacar un dato puntual con XPath.
- Sabes detectar y arreglar los tropiezos más comunes (texto en vez de número, hoja en blanco, #¿NOMBRE?).
Si el XML trae un catálogo de productos y quieres relacionarlo con tus pedidos, el siguiente paso es aprender BUSCARV (VLOOKUP) para cruzar el código de producto con su descripción y precio en otra hoja.
Datos comprobados en octubre de 2026.
Dudas al pasar un XML a Excel
1. ¿Cómo convertir un XML a Excel sin conexión a internet?
Sí se puede trabajar sin internet: desde Excel abre el archivo XML con Datos > Obtener datos > De archivo > De XML, conviértelo en una tabla y guarda el libro como .xlsx. Si lo prefieres, programas como Notepad++ te dejan ver y limpiar el XML antes de importarlo, pero la conversión final a hoja de cálculo la hace Excel en tu propio equipo.
2. ¿Hay herramientas gratis para pasar un XML a Excel en el navegador?
Sí, varias webs permiten subir el archivo y descargar el resultado en XLSX sin pagar, aunque casi todas imponen un tope de unos 5 a 10 MB por archivo. Para un XML pequeño o mediano, elige una con política clara de borrado automático en 24 horas y evita pegar datos confidenciales en conversores gratuitos sin garantías.
3. ¿Qué programa me puedo descargar para convertir XML a Excel?
No hace falta instalar nada aparte: Excel 2016, 2021 y Microsoft 365 traen Power Query integrado y abren el XML desde Datos > Obtener datos > De archivo > De XML. Solo necesitas descargar el instalador de Office desde la página oficial de Microsoft o iniciar sesión con una cuenta de Microsoft 365.
4. ¿Puedo pasar varios archivos XML a un solo Excel de una vez?
Sí, con Power Query de Excel puedes importar cada XML como una consulta independiente y luego combinarlos con Datos > Obtener datos > Combinar consultas > Anexar consultas, apilando los registros en una sola tabla. Para que la unión funcione, todos los XML deben compartir la misma estructura raíz; si difiere, conviene homogeneizarlos antes en el bloc de notas.
5. ¿Cómo abro directamente un archivo XML con Excel?
Doble clic sobre el archivo .xml y, si Excel lo reconoce, lo abrirá como tabla; si no, haz clic derecho > Abrir con > Excel. Otra vía fiable es desde Excel: Archivo > Abrir > elige el XML, y Excel te preguntará si quieres abrirlo como tabla, como libro de solo lectura o con la opción de aplicar una transformación XSLT.
6. ¿Cómo convierto un XML muy grande a Excel online?
Los conversores web gratuitos suelen limitar el peso a 5 o 10 MB, así que para archivos grandes conviene el método local: Excel 2016 o superior con Power Query, que maneja archivos de varios cientos de MB al cargarlos en streaming. Si aun así se queda corto, divide el XML con un editor de texto en bloques menores y vuelve a importarlos por separado.
7. ¿Existe un conversor específico de la marca SysTools?
Sí, SysTools comercializa un programa de pago llamado XML to Excel Converter que permite abrir XML de gran tamaño, previsualizar las etiquetas y exportarlas a XLSX o CSV. Eso sí, es software de escritorio de pago: para un uso puntual, la opción gratuita de Excel con Power Query cubre la mayoría de los casos sin coste.
Fuentes
- MicrosoftOverview of XML in Excel | Microsoft Supportconsultado el 12/10/2026
- MicrosoftExcel para la web (Excel online) — documentación oficialconsultado el 12/10/2026
- MicrosoftXMLFILTRO — documentación oficialconsultado el 12/10/2026
- MicrosoftExcel 2013 — documentación oficialconsultado el 12/10/2026