Você tem pastas de pastas de trabalho Excel que precisam alimentar um serviço web SOAP, um parceiro EDI, uma submissão regulatória ou uma integração ERP — e o sistema receptor fala XML, não XLSX. Abrir cada arquivo no Excel e salvá-lo como XML manualmente para de funcionar após a segunda pasta de trabalho, e a exportação XML embutida do Excel ignora os requisitos de schema que o sistema downstream realmente verifica. O Total Excel Converter X converte arquivos XLS e XLSX para XML bem formado pela linha de comando, em lote, sem interface gráfica e sem necessidade de instalação do Microsoft Excel. Instale-o em um servidor Windows, chame-o a partir de um script ou via ActiveX e deixe-o rodar sem supervisão.
*.xlsx) e o conversor processa todas as pastas de trabalho correspondentes em uma única execução
(30 dias, sem e-mail)
(licença de servidor, perpétua)
Windows 7/8/10/11 • Server 2008/2012/2016/2019/2022
Excel é uma grade. Linhas e colunas contêm valores, e o significado de cada coluna vive em uma linha de cabeçalho que humanos leem. O formato é ótimo para analistas, péssimo para integração de sistemas. Serviços SOAP, gateways EDI, portais regulatórios, interfaces bancárias e mensagens de saúde HL7 não analisam XLSX. Eles esperam XML com nomes de elemento explícitos, aninhamento definido e regras de escape previsíveis.
XML é hierárquico e autodescritivo. Cada valor carrega um nome de elemento, o documento valida contra um schema, e qualquer plataforma — Linux, Java, .NET, mainframes IBM — pode analisá-lo sem bibliotecas proprietárias. Quando dados Excel precisam entrar nesse mundo, eles têm que se tornar XML primeiro. O Total Excel Converter X grava XML válido onde cada linha Excel se transforma em um nó de registro, a linha de cabeçalho fornece nomes de campo e caracteres especiais são escapados para que a saída passe por qualquer parser XML de forma limpa.
| Excel (XLS/XLSX) | XML | |
|---|---|---|
| Forma | Grade bidimensional | Árvore hierárquica |
| Nomes de campo | Implícitos (linha de cabeçalho) | Explícitos em cada registro |
| Validação | Nenhuma no nível de arquivo | Schema (XSD, DTD) |
| Consumidores | Humanos, ferramentas que entendem Excel | SOAP, EDI, ERP, HL7, reguladores |
| Multiplataforma | Melhor no Windows + Office | Universal — toda linguagem e SO |
Baixe o instalador pelo link acima e execute-o no seu servidor ou estação de trabalho Windows. A instalação leva menos de um minuto. Nenhuma instalação do Microsoft Excel é necessária — o conversor lê XLS e XLSX diretamente com seu próprio parser, incluindo fórmulas, estilos e pastas de trabalho de várias planilhas.
Abra o cmd.exe ou PowerShell. O executável do conversor é XLSConverter.exe, localizado na pasta de instalação (normalmente C:\Program Files\CoolUtils\TotalExcelConverterX\). Adicione-o ao PATH do sistema ou use o caminho completo nos seus comandos.
O comando mais simples converte todos os arquivos Excel de uma pasta para XML:
XLSConverter.exe C:\Sheets\*.xlsx C:\Output\ -c XML
Isso processa cada arquivo .xlsx em C:\Sheets\ e salva os arquivos XML resultantes em C:\Output\. Cada pasta de trabalho produz um arquivo XML com o mesmo nome base. Cada linha na origem se torna um elemento <Row>, e cada célula se torna um elemento filho nomeado a partir do cabeçalho de coluna correspondente.
Controle a saída XML com flags adicionais:
XLSConverter.exe C:\Sheets\*.xlsx C:\Output\ -c XML -Encoding UTF-8 -FirstRowAsHeader true -log C:\Logs\xls2xml.log
-Encoding UTF-8 — define a codificação XML (UTF-8, UTF-16, Windows-1252, ISO-8859-1)-FirstRowAsHeader true — usa a linha 1 como nomes de elemento em vez de genérico Column1, Column2-Sheet "Invoices" — converte apenas a planilha nomeada em vez de cada planilha-log C:\Logs\xls2xml.log — grava um log de conversão para verificaçãoSalve seu comando em um arquivo .bat e agende-o com o Agendador de Tarefas do 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
Isso executa a conversão todas as noites (ou em qualquer intervalo que você definir) e grava um arquivo de log para que você possa verificar os resultados. Coloque novas pastas de trabalho em C:\Incoming\ durante o dia, e o pipeline de integração as recolhe automaticamente.
O Total Excel Converter X inclui uma interface ActiveX completa. Você pode chamar o conversor a partir de qualquer ambiente compatível com COM — .NET, VBScript, PHP, Python, Ruby ou ASP. Isso permite incorporar a conversão de Excel para XML em sua própria aplicação web, broker de integração ou fluxo de trabalho de documentos sem executar um processo de linha de comando separado.
Exemplo (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");
Exemplo (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");
A mesma chamada funciona a partir de ASP.NET, VBScript, Python, Ruby, Perl e JavaScript (Windows Script Host). Sua camada de integração pode aceitar arquivos Excel enviados, convertê-los para XML em memória e encaminhar a carga útil XML diretamente para um endpoint SOAP ou uma fila ERP.
| Recurso | Conversores online | Total Excel Converter X |
|---|---|---|
| Processamento em lote | Um arquivo por vez | Arquivos ilimitados por lote |
| Privacidade dos dados | Pastas de trabalho enviadas para servidor de terceiros | Arquivos nunca saem da sua máquina |
| Controle de codificação | Apenas UTF-8, frequentemente quebrado | UTF-8, UTF-16, Windows-1252, ISO-8859-1 |
| Escape de caracteres especiais | Inconsistente, frequentemente XML inválido | Escape completo para &, <, >, ", caracteres de controle |
| Pastas de trabalho de várias planilhas | Apenas a primeira | Todas as planilhas ou planilha nomeada |
| Automação | Apenas manual | Linha de comando, .bat, Agendador de Tarefas, ActiveX |
| Implantação em servidor | Não possível | Projetado para servidores, sem interface gráfica |
| Requer Excel instalado | N/A | Não |
| Requer internet | Sim | Não |
O conversor lê XLS e XLSX diretamente com seu próprio parser. Você não precisa ter Microsoft Office, LibreOffice ou qualquer aplicação de planilhas instalada no servidor. Isso evita custos de licenciamento e a conhecida instabilidade da automação do Excel em cenários autônomos.
O Total Excel Converter X foi projetado para uso autônomo. Sem janelas de interface, sem caixas de diálogo, sem solicitações de confirmação. Ele executa silenciosamente pela linha de comando ou como parte de um serviço — exatamente o que um servidor de integração de produção precisa.
A saída é XML bem formado. E comerciais se tornam &, colchetes angulares se tornam < e >, aspas dentro de atributos são escapadas e caracteres de controle perdidos são removidos. O XML passa por qualquer parser compatível com padrões sem engasgar com um nome de cliente que por acaso continha um e comercial.
A mesma ferramenta de linha de comando converte Excel para PDF, DOC, HTML, CSV, JSON, ODS, TXT e mais. Uma única instalação cobre todas as suas necessidades de conversão de planilhas. Altere -c XML para -c JSON e você obtém saída JSON com os mesmos recursos de lote e automação.
(30 dias, sem e-mail ou cartão de crédito)
(licença de servidor, perpétua)
Windows 7/8/10/11 • Server 2008/2012/2016/2019/2022
XLSConverter.exe C:\Sheets\*.xlsx C:\Output\ -c XML. Isso converte cada pasta de trabalho Excel da pasta de origem para XML. Adicione flags como -Encoding UTF-8, -FirstRowAsHeader true ou -log para controlar a estrutura e a codificação de saída.-FirstRowAsHeader true e o conversor usa cada cabeçalho de coluna como nome de elemento para aquele campo, então uma coluna CustomerName produz elementos <CustomerName>. Sem essa flag, o conversor recorre a tags genéricas Column1, Column2. Nós de linha tem padrão <Row>; isso dá a você uma estrutura previsível e regular que mapeia limpo para a maioria dos schemas consumidores.-Encoding. UTF-8 é o padrão seguro para SOAP, EDI e a maioria das integrações modernas. Use UTF-16 quando um sistema downstream o exigir especificamente, ou uma code page Windows ao alimentar um parceiro legado que espera XML de byte único.&, colchetes angulares se tornam < e >, aspas duplas dentro de valores de atributo se tornam ", e caracteres de controle perdidos que quebrariam um parser XML 1.0 são removidos. A saída valida contra qualquer parser compatível com padrões sem limpeza manual.-Sheet "Invoices" para converter apenas uma planilha nomeada, ou -Sheet 1 para escolher pelo índice baseado em zero. Planilhas ocultas e planilhas de gráfico são ignoradas.XLSConverter.XLSConverterX). Você pode chamá-lo a partir de .NET, PHP, Python, VBScript, ASP, Ruby, Perl e qualquer outro ambiente compatível com COM para converter uploads Excel em XML em tempo real e encaminhar o resultado para um endpoint SOAP ou fila de mensagens.
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;
Baixe a versão de teste gratuita e converta seus arquivos em minutos.
Não é necessário cartão de crédito ou email.