Tiene carpetas de libros Excel que necesitan alimentar un servicio web SOAP, un socio EDI, una presentación regulatoria o una integración ERP — y el sistema receptor habla XML, no XLSX. Abrir cada archivo en Excel y guardarlo como XML a mano deja de funcionar después del segundo libro, y la exportación XML integrada de Excel ignora los requisitos de esquema que el sistema posterior realmente verifica. Total Excel Converter X convierte archivos XLS y XLSX a XML bien formado desde la línea de comandos, en lote, sin interfaz gráfica y sin necesidad de instalar Microsoft Excel. Instálelo en un servidor Windows, llámelo desde un script o mediante ActiveX, y déjelo funcionar de forma desatendida.
*.xlsx) y el conversor procesa todos los libros coincidentes en una sola ejecución
(30 días, sin correo electrónico)
(licencia de servidor, perpetua)
Windows 7/8/10/11 • Server 2008/2012/2016/2019/2022
Excel es una cuadrícula. Las filas y columnas contienen valores, y el significado de cada columna vive en una fila de encabezado que los humanos leen. El formato es excelente para analistas, terrible para integración de sistemas. Los servicios SOAP, las pasarelas EDI, los portales regulatorios, las interfaces bancarias y los mensajes de salud HL7 no analizan XLSX. Esperan XML con nombres de elemento explícitos, anidamiento definido y reglas de escape predecibles.
XML es jerárquico y autodescriptivo. Cada valor lleva un nombre de elemento, el documento valida contra un esquema, y cualquier plataforma — Linux, Java, .NET, mainframes IBM — puede analizarlo sin bibliotecas propietarias. Cuando los datos Excel tienen que entrar en ese mundo, deben convertirse a XML primero. Total Excel Converter X escribe XML válido donde cada fila de Excel se convierte en un nodo de registro, la fila de encabezado proporciona los nombres de campo y los caracteres especiales se escapan para que la salida pase limpiamente por cualquier analizador XML.
| Excel (XLS/XLSX) | XML | |
|---|---|---|
| Forma | Cuadrícula bidimensional | Árbol jerárquico |
| Nombres de campo | Implícitos (fila de encabezado) | Explícitos en cada registro |
| Validación | Ninguna a nivel de archivo | Esquema (XSD, DTD) |
| Consumidores | Humanos, herramientas conscientes de Excel | SOAP, EDI, ERP, HL7, reguladores |
| Multiplataforma | Mejor en Windows + Office | Universal — cada lenguaje y SO |
Descargue el instalador desde el enlace anterior y ejecútelo en su servidor o estación de trabajo Windows. La instalación tarda menos de un minuto. No se requiere instalación de Microsoft Excel — el conversor lee XLS y XLSX directamente con su propio analizador, incluyendo fórmulas, estilos y libros con varias hojas.
Abra cmd.exe o PowerShell. El ejecutable del conversor es XLSConverter.exe, ubicado en la carpeta de instalación (normalmente C:\Program Files\CoolUtils\TotalExcelConverterX\). Agréguelo a la variable PATH del sistema o use la ruta completa en sus comandos.
El comando más sencillo convierte todos los archivos Excel de una carpeta a XML:
XLSConverter.exe C:\Sheets\*.xlsx C:\Output\ -c XML
Esto procesa cada archivo .xlsx en C:\Sheets\ y guarda los archivos XML resultantes en C:\Output\. Cada libro produce un archivo XML con el mismo nombre base. Cada fila del origen se convierte en un elemento <Row>, y cada celda se convierte en un elemento hijo nombrado según el encabezado de columna correspondiente.
Controle la salida XML con indicadores adicionales:
XLSConverter.exe C:\Sheets\*.xlsx C:\Output\ -c XML -Encoding UTF-8 -FirstRowAsHeader true -log C:\Logs\xls2xml.log
-Encoding UTF-8 — establece la codificación XML (UTF-8, UTF-16, Windows-1252, ISO-8859-1)-FirstRowAsHeader true — usa la fila 1 como nombres de elemento en lugar de genéricos Column1, Column2-Sheet "Invoices" — convierte solo la hoja con ese nombre en lugar de todas-log C:\Logs\xls2xml.log — escribe un registro de conversión para verificaciónGuarde su comando en un archivo .bat y prográmelo con el Programador de tareas de Windows:
@echo off "C:\Program Files\CoolUtils\TotalExcelConverterX\XLSConverter.exe" C:\Incoming\*.xlsx C:\Archive\XML\ -c XML -Encoding UTF-8 -FirstRowAsHeader true -log C:\Logs\xls2xml.log
Esto ejecuta la conversión cada noche (o en el intervalo que establezca) y escribe un archivo de registro para que pueda verificar los resultados. Suelte nuevos libros en C:\Incoming\ durante el día, y la tubería de integración los recoge automáticamente.
Total Excel Converter X incluye una interfaz ActiveX completa. Puede llamar al conversor desde cualquier entorno compatible con COM — .NET, VBScript, PHP, Python, Ruby o ASP. Esto le permite integrar la conversión de Excel a XML en su propia aplicación web, broker de integración o flujo de trabajo documental sin recurrir a un proceso de línea de comandos externo.
Ejemplo (C#/.NET):
XLSConverterX Cnv = new XLSConverterX();
Cnv.Convert("C:\\Sheets\\invoices.xlsx", "C:\\Output\\invoices.xml", "-c XML -Encoding UTF-8 -FirstRowAsHeader true -log c:\\Logs\\xls.log");
Ejemplo (PHP):
$c = new COM("XLSConverter.XLSConverterX");
$c->convert("C:\\Sheets\\invoices.xlsx", "C:\\Output\\invoices.xml", "-c XML -Encoding UTF-8 -FirstRowAsHeader true -log c:\\Logs\\xls.log");
La misma llamada funciona desde ASP.NET, VBScript, Python, Ruby, Perl y JavaScript (Windows Script Host). Su capa de integración puede aceptar archivos Excel cargados, convertirlos a XML en memoria y reenviar la carga útil XML directamente a un endpoint SOAP o a una cola ERP.
| Característica | Conversores en línea | Total Excel Converter X |
|---|---|---|
| Procesamiento en lote | Un archivo a la vez | Archivos ilimitados por lote |
| Privacidad de datos | Libros subidos a servidor de terceros | Los archivos nunca salen de su equipo |
| Control de codificación | Solo UTF-8, a menudo roto | UTF-8, UTF-16, Windows-1252, ISO-8859-1 |
| Escape de caracteres especiales | Inconsistente, a menudo XML inválido | Escape completo para &, <, >, ", caracteres de control |
| Libros con varias hojas | Solo primera hoja | Todas las hojas o hoja con nombre |
| Automatización | Solo manual | Línea de comandos, .bat, Programador de tareas, ActiveX |
| Despliegue en servidor | No es posible | Diseñado para servidores, sin interfaz gráfica |
| Requiere Excel instalado | N/A | No |
| Requiere internet | Sí | No |
El conversor lee XLS y XLSX directamente con su propio analizador. No necesita Microsoft Office, LibreOffice ni ninguna aplicación de hoja de cálculo instalada en el servidor. Esto evita los costes de licencia y la conocida inestabilidad de automatizar Excel en escenarios desatendidos.
Total Excel Converter X está diseñado para uso desatendido. Sin ventanas de interfaz, sin cuadros de diálogo, sin mensajes de confirmación. Se ejecuta silenciosamente desde la línea de comandos o como parte de un servicio — exactamente lo que un servidor de integración en producción necesita.
La salida es XML bien formado. Los símbolos & se convierten en &, los corchetes angulares en < y >, las comillas dentro de atributos se escapan, y los caracteres de control sueltos se eliminan. El XML pasa por cualquier analizador conforme a estándares sin atragantarse con un nombre de cliente que contenía un símbolo &.
La misma herramienta de línea de comandos convierte Excel a PDF, DOC, HTML, CSV, JSON, ODS, TXT y más. Una sola instalación cubre todas sus necesidades de conversión de hojas de cálculo. Cambie -c XML por -c JSON y obtendrá salida JSON con las mismas funciones de lote y automatización.
(30 días, sin correo electrónico ni tarjeta de crédito)
(licencia de servidor, perpetua)
Windows 7/8/10/11 • Server 2008/2012/2016/2019/2022
"Nuestro socio de envíos acepta órdenes de compra solo como XML sobre SOAP, pero el equipo de operaciones las construye en Excel. Total Excel Converter X se ejecuta como un .bat programado en el servidor de integración y convierte el libro de pedidos diario en XML en menos de tres segundos. El escape maneja los caracteres especiales en los nombres de cliente que rompían nuestro analizador interno anterior. Reemplazo directo de un script VBA casero que nadie quería mantener."
Andreas Vogt Integration Engineer, Logistik AG
"Intercambiamos documentos EDI con unos cuarenta socios minoristas, y un tercio de ellos quiere sobres XML en lugar de X12 o EDIFACT. El conversor se sitúa entre nuestro escritorio de pedidos basado en hojas de cálculo y la pasarela EDI. El mapeo de fila de encabezado significa que el esquema XML de cada socio se alinea con los nombres de columna que ya usamos. La codificación se establece por socio mediante la línea de comandos. Sin sorpresas en producción."
Priya Subramanian EDI Specialist, Wholesale Distribution
"Presentamos declaraciones regulatorias al banco central en XML con cadencia semanal. Los datos de origen se reconcilian en Excel por el equipo financiero y luego tienen que convertirse en una carga útil XML estrictamente codificada. La salida UTF-8 del conversor y el escape limpio del símbolo & pasan el validador del regulador al primer intento. Todavía postprocesamos la salida a través de XSLT para ajustarla al esquema de destino exacto, pero el paso de conversión en sí es fiable y rápido."
Marc Lefevre Regulatory Reporting Lead, Banque Mutuelle
XLSConverter.exe C:\Sheets\*.xlsx C:\Output\ -c XML. Esto convierte cada libro Excel en la carpeta de origen a XML. Añada indicadores como -Encoding UTF-8, -FirstRowAsHeader true o -log para controlar la estructura y codificación de salida.-FirstRowAsHeader true y el conversor usa cada encabezado de columna como nombre de elemento para ese campo, por lo que una columna CustomerName produce elementos <CustomerName>. Sin ese indicador el conversor recurre a etiquetas genéricas Column1, Column2. Los nodos de fila por defecto son <Row>; esto le da una estructura predecible y regular que se asigna limpiamente a la mayoría de los esquemas consumidores.-Encoding. UTF-8 es el predeterminado seguro para SOAP, EDI y la mayoría de las integraciones modernas. Use UTF-16 cuando un sistema posterior lo requiera específicamente, o una página de códigos de Windows cuando alimente un socio heredado que espere XML de un solo byte.&, los corchetes angulares en < y >, las comillas dobles dentro de valores de atributo en ", y los caracteres de control sueltos que romperían un analizador XML 1.0 se eliminan. La salida valida contra cualquier analizador conforme a estándares sin limpieza manual.-Sheet "Invoices" para convertir solo una hoja con nombre, o -Sheet 1 para seleccionar por índice base cero. Las hojas ocultas y las hojas de gráfico se omiten.XLSConverter.XLSConverterX). Puede llamarlo desde .NET, PHP, Python, VBScript, ASP, Ruby, Perl y cualquier otro entorno compatible con COM para convertir cargas Excel a XML en tiempo real y reenviar el resultado a un endpoint SOAP o una cola de mensajes.
string src = @"C:\test\Source.xlsx";
string dest = @"C:\test\Dest.pdf";
var cnv = new ExcelConverterX();
cnv.Convert(src, dest, "-cPDF -log c:\\test\\Excel.log");
if (!string.IsNullOrEmpty(cnv.ErrorMessage))
throw new Exception(cnv.ErrorMessage);
public static class Function1
{
[FunctionName("Function1")]
public static async Task Run(
[HttpTrigger(AuthorizationLevel.Anonymous, "get", "post", Route = null)] HttpRequest req,
ILogger log)
{
StringBuilder sbLogs = new StringBuilder();
sbLogs.AppendLine("started...");
try
{
ProcessStartInfo startInfo = new ProcessStartInfo();
startInfo.CreateNoWindow = true;
startInfo.UseShellExecute = false;
var assemblyDirectoryPath = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
assemblyDirectoryPath = assemblyDirectoryPath.Substring(0, assemblyDirectoryPath.Length - 4);
var executablePath = $@"{assemblyDirectoryPath}\Converter\ExcelConverterX.exe";
sbLogs.AppendLine(executablePath + "...");
var srcPath = $@"{assemblyDirectoryPath}\src\sample.xlsx";
var outPath = Path.GetTempFileName() + ".pdf";
startInfo.FileName = executablePath;
if (File.Exists(outPath))
{
File.Delete(outPath);
}
if (File.Exists(executablePath) && File.Exists(srcPath))
{
sbLogs.AppendLine("files exists...");
}
else
sbLogs.AppendLine("EXE & source files NOT exists...");
startInfo.WindowStyle = ProcessWindowStyle.Hidden;
startInfo.Arguments = $"{srcPath} {outPath}";
using (Process exeProcess = Process.Start(startInfo))
{
sbLogs.AppendLine($"wait...{DateTime.Now.ToString()}");
exeProcess.WaitForExit();
sbLogs.AppendLine($"complete...{DateTime.Now.ToString()}");
}
int sleepCounter = 10;
while(!File.Exists(outPath) && sleepCounter > 0)
{
System.Threading.Thread.Sleep(1000);
sbLogs.AppendLine("sleep...");
sleepCounter--;
}
if (File.Exists(outPath))
sbLogs.AppendLine("Conversion complete successfully.");
}
catch (Exception ex)
{
sbLogs.AppendLine(ex.ToString());
}
return new OkObjectResult(sbLogs);
}
}
dim C
Set C=CreateObject("ExcelConverter.ExcelConverterX")
C.Convert "c:\test\source.xlsx", "c:\test\dest.pdf", "-cPDF -log c:\test\Excel.log"
Response.Write C.ErrorMessage
set C = nothing
dim C
Set C=CreateObject("ExcelConverter.ExcelConverterX")
Response.Clear
Response.AddHeader "Content-Type", "binary/octet-stream"
Response.AddHeader "Content-Disposition", "attachment; filename=test.pdf"
Response.BinaryWrite C.ConvertToStream("C:\www\ASP\Source.xlsx", "C:\www\ASP", "-cpdf -log c:\html.log")
set C = nothing
$src="C:\\test\\test.xlsx";
$dest="C:\\test\\test.csv";
if (file_exists($dest)) unlink($dest);
$c= new COM("ExcelConverter.ExcelConverterX");
$c->convert($src,$dest, "-c csv -log c:\\test\\xls.log");
if (file_exists($dest)) echo "OK"; else echo "fail:".$c->ErrorMessage;
require 'win32ole'
c = WIN32OLE.new('ExcelConverter.ExcelConverterX')
src = "C:\\test\\test.xlsx"
dest = "C:\\test\\test.pdf"
c.convert(src, dest, "-c PDF -log c:\\test\\Excel.log")
if not File.exist?(dest)
puts c.ErrorMessage
end
import win32com.client
import os.path
c = win32com.client.Dispatch("ExcelConverter.ExcelConverterX")
src = "C:\\test\\test.xlsx"
dest = "C:\\test\\test.pdf"
c.convert(src, dest, "-c PDF -log c:\\test\\Excel.log")
if not os.path.exists(dest):
print(c.ErrorMessage)
uses Dialogs, Vcl.OleAuto;
var
c: OleVariant;
begin
c := CreateOleObject('ExcelConverter.ExcelConverterX');
c.Convert('c:\test\source.xlsx', 'c:\test\dest.pdf', '-cPDF -log c:\test\Excel.log');
if c.ErrorMessage <> '' then
ShowMessage(c.ErrorMessage);
end;
var c = new ActiveXObject("ExcelConverter.ExcelConverterX");
c.Convert("C:\\test\\source.xlsx", "C:\\test\\dest.pdf", "-c PDF");
if (c.ErrorMessage != "")
alert(c.ErrorMessage)
use Win32::OLE; my $src = "C:\\test\\test.xlsx"; my $dest = "C:\\test\\test.csv"; my $c = CreateObject Win32::OLE 'ExcelConverter.ExcelConverterX'; $c->convert($src, $dest, "-c csv -log c:\\test\\xls.log"); print $c->ErrorMessage if -e $dest;
Descargue la versión de prueba y convierta sus archivos en minutos.
No se requiere tarjeta de crédito ni email.