Convertir una hoja de Excel (XLSX) a XML
Convierta cada fila de su tabla de Excel en un registro XML
Sus archivos se quedan con usted. La conversión ocurre dentro del navegador; ningún archivo se sube a un servidor.
¿Le sirvió esta herramienta?
Gracias, su comentario llegó.
Cómo funciona
Toque o haga clic en el recuadro y elija su archivo de Excel. Si la primera fila contiene los encabezados (Nombre, Importe, Fecha…), deje la opción por omisión: cada encabezado se convierte en un nombre de elemento y cada fila en un elemento <registro>, todo dentro de un elemento raíz <datos>. Una lista de clientes de tres columnas y 200 filas se convierte así en un solo archivo XML con 200 elementos <registro>, y dentro de cada uno los elementos <Nombre>, <Teléfono> y <Ciudad>. Los espacios y signos de un encabezado se cambian por guion bajo («Fecha de nacimiento» pasa a Fecha_de_nacimiento) y un encabezado que empieza por cifra recibe un guion bajo delante; la línea de resultado indica cuántos encabezados se ajustaron. Las fechas se escriben como año-mes-día (2023-03-15), los números con punto decimal (1250.5) y no con coma, aunque en la hoja los vea con coma, y las celdas VERDADERO/FALSO como true/false: es la escritura que un programa entiende sin configuración adicional. Si el libro tiene varias hojas, la opción «Todas las hojas» las escribe en un único archivo, cada una dentro de su elemento <hoja>.
Esta herramienta también se busca como excel a xml, convertir excel a xml, xlsx a xml, pasar excel a xml online, exportar excel a xml, convertir xlsx a xml gratis.
¿Qué es XML?
XML es un formato de texto que escribe cada dato entre una etiqueta de apertura y otra de cierre: <Nombre>Lucía</Nombre>. Se diseñó para que los programas intercambien información sin ambigüedad, y por eso lo piden la facturación electrónica (el CFDI de México es un XML), los sistemas bancarios, los programas de contabilidad y muchas plataformas institucionales. Un archivo XML se puede abrir y leer en el Bloc de notas, pero su valor está en la estructura: cada valor declara con su etiqueta a qué campo pertenece, así que no importa el orden de las columnas ni hay que discutir qué separador se usó. Esta herramienta convierte cada fila de Excel en un registro etiquetado de ese tipo.
¿Qué es Nombre de elemento?
El nombre de elemento es el nombre de la etiqueta que envuelve un valor: en <Importe>1250.5</Importe>, el nombre es Importe. XML impone reglas: no puede llevar espacios, comillas ni la mayoría de los signos de puntuación, y no puede empezar por una cifra ni por la secuencia «xml». Esta herramienta adapta sus encabezados de Excel a esas reglas en lugar de rechazarlos: cada espacio o signo se cambia por un guion bajo, un nombre que empieza por cifra recibe un guion bajo delante y, si dos columnas comparten encabezado, la segunda recibe el sufijo _2. Las letras con tilde y la ñ se conservan, porque XML las admite en los nombres. La línea de resultado muestra qué encabezados cambiaron.
¿Qué diferencia hay entre XML y CSV?
Un CSV son filas de texto donde las celdas se separan con coma o punto y coma: es ligero y Excel lo abre directamente, pero cada valor solo se identifica por su posición, y el separador, las comillas y el signo decimal cambian de un país a otro y pueden romper el archivo al cruzar la frontera. En XML cada valor va dentro de su propia etiqueta, el orden de las columnas da igual, se pueden anidar estructuras (varias hojas dentro de un mismo archivo, por ejemplo) y el archivo se explica solo. El precio es el tamaño: la misma tabla ocupa varias veces más en XML. Si la tabla la va a leer una persona o va a volver a Excel, use CSV; si la va a recibir un programa o un organismo, use XML.
¿Por qué las fechas y los números no se ven como en Excel?
El XML lo va a leer un programa, no una persona, y por eso la herramienta escribe siempre igual. Una fecha que en Excel aparece como 15/03/2023 se escribe 2023-03-15 (norma ISO 8601); si la celda lleva hora, sale 2023-03-15T14:30:00. Un número que en la hoja se ve como $1,250.50 o 1.250,50 € entra en el XML como 1250.5: con punto decimal y sin separador de miles, aunque usted esté acostumbrado a la coma. Un porcentaje mostrado como 15 % se escribe 0.15, porque ese es el valor que la celda guarda de verdad. Las celdas VERDADERO/FALSO salen como true/false, y las celdas con error (#N/D, #¡DIV/0!) pasan con el texto que muestra Excel.
Es una decisión deliberada: los programas y las bases de datos entienden esta escritura sin ajustes, mientras que la escritura local (coma decimal, día/mes/año) cambia de país en país y el receptor puede leerla mal. Si lo que necesita es exportar la tabla con la escritura que ve en pantalla, esa tarea corresponde a la herramienta de XLSX a CSV de este sitio, donde sí se elige el formato de fechas y números.
¿Qué pasa con las celdas vacías, las filas vacías y los libros con varias hojas?
Una celda vacía no se salta: se escribe como elemento vacío (<Teléfono></Teléfono>) para que todos los registros tengan el mismo número de campos y el programa receptor encuentre siempre la misma estructura. Las filas completamente vacías al final de la tabla (a veces quedan filas con formato pero sin contenido) se descartan; una fila vacía en medio de los datos se conserva como registro vacío, y lo más limpio es borrarla en Excel y volver a convertir. Anchos de columna, colores y fórmulas no pasan al XML; de una celda con fórmula se escribe el último valor calculado.
Con «Todas las hojas», cada hoja recibe su propio elemento <hoja nombre="Enero"> debajo de la raíz y sus registros quedan dentro; la fila de encabezados se lee hoja por hoja, así que las columnas pueden ser distintas en cada una. Una hoja sin datos no genera nada. Puede cambiar los nombres del elemento raíz y del elemento de fila: si el sistema receptor espera <clientes> con un <cliente> por fila, escríbalos en los dos cuadros y listo; esos nombres pasan por la misma regla de nombres XML.
Preguntas frecuentes
¿Genera el XML de un esquema oficial (CFDI, SEPA, UBL)?
No. Esta herramienta produce una estructura plana y regular: un elemento raíz, un elemento por fila y un elemento por columna. Los formatos como el CFDI de la factura electrónica mexicana, la Facturae española, los archivos bancarios SEPA o el estándar UBL exigen nombres de elemento concretos, estructuras anidadas y espacios de nombres, y solo un programa escrito para ese esquema los produce. Aun así, para esquemas sencillos de lista plana puede acercarse mucho: ponga en la raíz y en la fila los nombres que pide el receptor y escriba en los encabezados de Excel los nombres de campo del esquema.
¿Por qué cambiaron mis encabezados?
Un nombre de elemento XML no admite espacios, comillas ni paréntesis, y no puede empezar por una cifra. En vez de descartar el encabezado, la herramienta lo adapta: «Precio unitario (MXN)» se convierte en Precio_unitario__MXN_ y el encabezado «2024» en _2024. Las tildes y la ñ se quedan como están, porque XML las acepta en los nombres. La línea de resultado dice cuántos encabezados cambiaron y muestra los tres primeros con su forma antigua y nueva; si escribe los encabezados sin espacios ni signos desde el principio, no cambia ninguno.
¿Acepta un .xls antiguo o un .ods de LibreOffice?
Sí. Además de .xlsx y .xlsm se leen el formato .xls de Excel 97-2003 y el .ods de LibreOffice y OpenOffice, sin abrirlos antes en Excel. Lo único que no se puede leer es un libro protegido con contraseña: quítela en Excel, guarde y vuelva a intentarlo. Si lo que tiene es un CSV, ábralo en Excel y guárdelo como .xlsx, o encadene las herramientas de CSV a JSON y de JSON a XML de este sitio.
¿Mi archivo se sube a algún lado?
No. El libro de Excel se queda en su dispositivo: abrirlo, leer las celdas y escribir el XML son tareas que corren dentro del navegador, sin servidor de por medio. Cuenta especialmente cuando la tabla es una lista de clientes, una nómina o el detalle de facturas; con la página ya abierta, la conversión funciona incluso si se corta la conexión.