Convertir Excel a XML
Convierte una hoja de cálculo en XML bien formado para importaciones, feeds e integraciones: nombres de elementos tomados de tus encabezados, valores con su tipo y los nombres de raíz y de fila que elijas.
- Nunca se guarda
- Sin filas ni esperas
- Sin registro, sin marca de agua
Cómo funciona
Agrega tu libro
Suelta un archivo .xlsx, .xls u .ods y elige la hoja, con una vista previa del XML en vivo.
Nombra los elementos
Define los nombres del elemento raíz y de fila, valores sin formato o mostrados, y qué hacer con las celdas vacías.
Copia o descarga
Copia el XML o guárdalo como archivo .xml.
Una cuadrícula descrita como un árbol
Cada hoja se convierte en un elemento que se repite por fila, con un elemento hijo por columna nombrado a partir de la fila de encabezado, y eso es lo que permite que el resultado lo lea cualquier cosa que espere XML de datos y no una hoja de cálculo. Por el camino, los nombres de columna tienen que convertirse en nombres de elemento válidos, y XML es más estricto que un encabezado de hoja de cálculo: un nombre no puede empezar por un dígito, no puede contener espacios ni la mayoría de los signos de puntuación y distingue mayúsculas de minúsculas. Así que “Order Total (£)” se convierte en algo más ordenado, y dos encabezados que solo se diferencian en la puntuación pueden acabar necesitando distinguirse.
Lo que viaja son valores, no apariencia. Una celda que muestra £1,234.50 está guardada en el libro como el número 1234.5 con un formato aplicado, y es el número lo que va al XML, lo cual casi siempre es correcto, porque un sistema que lo consume quiere el valor y no el símbolo de moneda. Las fórmulas desaparecen de la misma manera: obtienes lo que la fórmula produjo, porque XML no tiene dónde guardar la fórmula en sí. Los colores, las fuentes, los bordes, el formato condicional, los gráficos y las imágenes no tienen ninguna representación aquí.
Las fechas son lo que hay que revisar. Una hoja de cálculo guarda una fecha como un número de días desde una fecha de referencia y la muestra a través de un formato, así que una fecha puede salir como 45356 en lugar de como fecha, según cómo se configuró la celda. Si las fechas importan para lo que vaya a leer el XML, revísalas antes de confiar en el archivo, y considera darles formato de texto en el libro primero, lo que elimina la ambigüedad por completo.
Los cinco caracteres que XML reserva (el ampersand, los signos de menor y mayor y las comillas) se escapan en los valores, así que el texto que los contiene llega intacto. Las celdas vacías producen elementos vacíos en lugar de omitirse, lo que mantiene todos los registros con la misma forma y hace que el resultado sea mucho más fácil de procesar que uno en el que los campos que faltan simplemente desaparecen. A los libros protegidos con contraseña hay que quitarles la contraseña primero.
Si buscas otra cosa
Cuando el XML tiene que ajustarse a un esquema específico (un formato del sector, una declaración ante el gobierno, el formato de importación de un sistema), una conversión genérica no lo va a producir, y ninguna configuración de aquí lo logrará tampoco. Eso es un trabajo de mapeo: XSLT transforma este resultado en la forma requerida, y xmllint --schema confirma el resultado antes de enviarlo.
Para cualquier cosa que se repita, usa un script. openpyxl y pandas de Python leen un libro y escriben el XML que especifiques, con control sobre cómo se representan las fechas y los números, que es lo que importa. Y vale la pena preguntarse si XML es realmente el destino: la mayoría de los sistemas construidos en esta década prefieren JSON o CSV, y XML suele ser un requisito heredado de algo más antiguo.
Preguntas frecuentes
¿Cómo se ve el XML?
Un elemento por fila, con un elemento hijo por columna que lleva el nombre de su encabezado: <rows><row><Name>Ada</Name><Joined>2024-03-15</Joined></row>…</rows>. Tú eliges los nombres de raíz y de fila, y puedes exportar varias hojas juntas, cada una dentro de su propio elemento.
Mis encabezados tienen espacios y símbolos, ¿es un problema?
No. Los encabezados se convierten en nombres XML válidos: “First Name” pasa a ser First_Name, “2024 Sales” pasa a ser _2024_Sales y los encabezados duplicados se numeran, así que el resultado siempre está bien formado.
¿Cómo se escriben las fechas y los números?
Los valores sin formato dan números simples y fechas ISO 8601 (2024-03-15, 14:30:00) que cualquier sistema puede interpretar. Los valores mostrados escriben exactamente el texto que muestra Excel, con formatos incluidos.
¿Qué es XML Spreadsheet 2003?
Un formato XML que Excel abre directamente y que conserva cada hoja con sus números, fechas y texto. Elígelo cuando un sistema pida “Excel XML” en lugar de tu propio XML de datos.
¿Se guarda mi hoja de cálculo en algún lugar?
No. El libro se lee y el XML se genera aquí; no se envía nada a ningún lugar y no se guarda nada.
¿Qué pasa con las fórmulas y el formato?
Las fórmulas se escriben como sus valores calculados. El formato, los gráficos y las imágenes no forman parte del XML de datos.
Conviene saber: El XML de datos solo lleva valores: nada de formato, gráficos ni imágenes. A los libros protegidos con contraseña hay que quitarles la contraseña primero.
Agrega esta herramienta a tu sitio web
Gratis para cualquier blog, página de clase o artículo de ayuda. Pega un fragmento de código y tus visitantes podrán usarla directamente en tu página.
Más Herramientas de hojas de cálculo
XML a Excel
Registros XML en una hoja de Excel con formato
Excel a CSV
Cualquier hoja a CSV, con la codificación que necesitas
CSV a JSON
CSV a JSON con tipos y estructura anidada
JSON a CSV
JSON anidado aplanado en columnas limpias
CSV a Excel
CSV a XLSX con números y fechas reales
ODS a XLSX
Hojas de cálculo de LibreOffice como libros de Excel