Você tem pastas de arquivos HTML ou páginas web extraídas cheias de dados em <table> — relatórios financeiros, catálogos de produtos, dashboards de análise exportados — e precisa deles como planilhas Excel reais para que os analistas possam classificar, filtrar, somar e dinamizar. Abrir cada arquivo no navegador e copiar/colar tabelas no Excel quebra fórmulas e arruína a formatação após o segundo arquivo. O Total HTML Converter X converte arquivos HTML para XLS 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.
*.html) e o conversor processa todos os arquivos correspondentes em uma única execução<table>, <tr>, <td>, <th>, colspan e rowspan, e estilos inline que afetam o conteúdo das células
(30 dias, sem e-mail)
(licença de servidor, perpétua)
Windows 7/8/10/11 • Server 2008/2012/2016/2019/2022
HTML exibe dados tabulares, mas não os armazena como uma planilha. Uma <table> em um navegador é marcação somente leitura — você não pode classificar uma coluna, filtrar linhas, escrever uma fórmula SUM ou construir uma tabela dinâmica. Os números são texto dentro de células, não valores numéricos com os quais um analista possa calcular.
XLS é o formato Microsoft Excel que transforma os mesmos dados em uma planilha funcional. Cada célula contém um valor tipado — número, data, string — que suporta fórmulas, classificação, filtragem, formatação condicional e tabelas dinâmicas. Quando dados presos dentro de páginas HTML precisam entrar em um fluxo de trabalho analítico, primeiro tem que se tornar XLS.
| HTML | XLS | |
|---|---|---|
| Tipo de dados | Texto dentro de tags <td> | Valores tipados de célula (número, data, string) |
| Classificação e filtragem | Não suportadas | Integradas ao Excel |
| Fórmulas | Nenhuma | SUM, AVERAGE, VLOOKUP, tabelas dinâmicas |
| Público | Visitantes web | Analistas, contadores, equipes financeiras |
| Fluxo de trabalho | Exibição web | Relatórios, modelagem, importações para BI |
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. Não é necessário navegador ou Microsoft Excel — o conversor analisa o HTML e grava XLS diretamente usando seu próprio motor, com suporte completo a tabelas HTML, colspan e rowspan, e estilos CSS embutidos.
Abra o cmd.exe ou PowerShell. O executável do conversor é HTMLConverter.exe, localizado na pasta de instalação (normalmente C:\Program Files\CoolUtils\TotalHTMLConverterX\). Adicione-o ao PATH do sistema ou use o caminho completo nos seus comandos.
O comando mais simples converte todos os arquivos HTML de uma pasta para XLS:
HTMLConverter.exe C:\Pages\*.html C:\Output\ -c XLS
Isso processa cada arquivo .html em C:\Pages\ e salva os XLS resultantes em C:\Output\. Cada arquivo HTML produz um XLS com o mesmo nome base. Tabelas na origem caem como intervalos de células; strings numéricas se tornam valores numéricos com os quais um analista pode calcular.
Controle a saída XLS com flags adicionais:
HTMLConverter.exe C:\Pages\*.html C:\Output\ -c XLS -CodePage 65001 -Sheet ReportData -log C:\Logs\html2xls.log
-CodePage 65001 — define a codificação (65001 = UTF-8, 1252 = Ocidental, 1251 = Cirílico, 932 = Shift-JIS)-Sheet ReportData — nomeia a planilha resultante dentro do XLS-FirstRowAsHeader 1 — marca a primeira linha de cada tabela como linha de cabeçalho no XLS-log C:\Logs\html2xls.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\TotalHTMLConverterX\HTMLConverter.exe" C:\Incoming\*.html C:\Archive\XLS\ -c XLS -CodePage 65001 -Sheet Data -log C:\Logs\html2xls.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 um lote novo de relatórios HTML em C:\Incoming\ e recolha os arquivos XLS de C:\Archive\XLS\ na manhã seguinte.
O Total HTML 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 HTML para XLS em sua própria aplicação web, portal de intranet ou serviço de relatórios sem executar um processo de linha de comando separado.
Exemplo (C#/.NET):
HTMLConverterX Cnv = new HTMLConverterX();
Cnv.Convert("C:\\Pages\\report.html", "C:\\Output\\report.xls", "-c XLS -CodePage 65001 -log c:\\Logs\\html.log");
Exemplo (PHP):
$c = new COM("HTMLConverter.HTMLConverterX");
$c->convert("C:\\Pages\\report.html", "C:\\Output\\report.xls", "-c XLS -CodePage 65001 -log c:\\Logs\\html.log");
A mesma chamada funciona a partir de ASP.NET, VBScript, Python, Ruby, Perl e JavaScript (Windows Script Host). Sua aplicação web pode aceitar uma página HTML enviada ou uma URL e retornar uma planilha XLS funcional ao usuário em tempo real.
| Recurso | Conversores online | Total HTML Converter X |
|---|---|---|
| Processamento em lote | Um arquivo por vez | Arquivos ilimitados por lote |
| Privacidade dos arquivos | Arquivos enviados para servidor de terceiros | Arquivos nunca saem da sua máquina |
| Análise de tabelas | Básica; células mescladas frequentemente quebradas | Suporte completo a <table>, colspan/rowspan preservados |
| Valores numéricos | Frequentemente salvos como texto | Números caem como células numéricas, fórmulas funcionam |
| Controle de codificação | Adivinhada automaticamente | Flag -CodePage explícita, sem adivinhação |
| 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 grava arquivos XLS válidos diretamente. 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 — sem processos EXCEL.EXE órfãos, sem problemas de identidade DCOM, sem travamentos aleatórios.
O Total HTML 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 produção precisa. Executá-lo sob uma tarefa agendada do Windows ou como parte de um pipeline CI é direto.
A saída XLS contém valores tipados de célula, não uma parede de texto despejada na coluna A. Números são números, datas são datas, strings são strings. Classificação, filtragem e fórmulas do Excel funcionam no resultado sem nenhum pós-processamento. Linhas de cabeçalho e células mescladas do HTML de origem se transferem para a planilha.
A mesma ferramenta de linha de comando converte HTML para PDF, DOC, TIFF, JPEG, RTF, TXT e mais. Uma única instalação cobre todas as suas necessidades de conversão HTML. Altere -c XLS para -c PDF e você obtém saída PDF com os mesmos recursos de lote e automação — útil quando as finanças querem XLS mas o jurídico quer PDF assinado da mesma origem.
(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
"Extraímos preços de concorrentes de uma dúzia de sites de catálogos públicos toda noite. As páginas são tabelas HTML, mas nosso modelo de preços vive no Excel. O Total HTML Converter X transforma as páginas extraídas em arquivos XLS em um único job .bat, com células numéricas no formato correto para que VLOOKUP funcione contra elas imediatamente. A flag -CodePage corrigiu os nomes de produtos acentuados que nossa ferramenta anterior estava mutilando."
Priya Ramanathan Senior Data Analyst, Retail Analytics
"Nosso SaaS exporta relatórios HTML para clientes, mas clientes corporativos continuam pedindo XLS. Incorporamos a interface ActiveX em nosso backend PHP para que o mesmo relatório HTML possa ser entregue como uma planilha funcional sob demanda. A chamada COM retorna um XLS real com colunas classificáveis, não um despejo de texto na coluna A. Eliminamos a automação do Excel da nossa pilha de servidor na mesma semana."
Tobias Kleinmann Backend Developer, Reporting Platform
"Migramos uma intranet legada que exibia dados orçamentários como tabelas HTML em milhares de páginas. A conversão em massa para XLS rodou durante um fim de semana em uma única máquina Windows Server 2019, sem licença do Office necessária, e as finanças importaram as planilhas resultantes diretamente em seu novo sistema. A documentação sobre as flags mais obscuras poderia ser mais rica, mas o suporte respondeu em um dia quando tivemos uma dúvida sobre codificação."
Rosa Fernandez IT Manager, Municipal Government
HTMLConverter.exe C:\Pages\*.html C:\Output\ -c XLS. Isso converte todos os arquivos HTML da pasta de origem para XLS. Adicione flags como -CodePage 65001, -Sheet ReportData ou -log para controlar a saída.<table>, <tr>, <td> e <th> mapeiam para linhas e colunas no XLS. Colspan e rowspan são preservados como células mescladas. Strings numéricas se tornam valores numéricos que funcionam com SUM, AVERAGE e tabelas dinâmicas.-CodePage. -CodePage 65001 é UTF-8, 1252 é europeu ocidental, 1251 é cirílico, 932 é Shift-JIS. Defina-a para corresponder à codificação declarada no HTML de origem e o conteúdo das células cairá no XLS sem corrupção.HTMLConverter.HTMLConverterX). Você pode chamá-lo a partir de .NET, PHP, Python, VBScript, ASP, Ruby, Perl e qualquer outro ambiente compatível com COM para converter HTML para XLS sob demanda dentro de seu próprio aplicativo web.-Sheet SeuNomeDePlanilha na linha de comando e a pasta de trabalho resultante usará esse nome para sua planilha em vez do padrão. Útil quando o XLS alimenta um sistema downstream que procura um nome específico de planilha.
string src = @"C:\test\Source.html";
string dest = @"C:\test\Dest.pdf";
var cnv = new HTMLConverterX();
cnv.Convert(src, dest, "-cPDF -log c:\\test\\HTML.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\HTMLConverterX.exe";
sbLogs.AppendLine(executablePath + "...");
var srcPath = $@"{assemblyDirectoryPath}\src\sample.html";
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}\" -cPDF";
using (Process exeProcess = Process.Start(startInfo))
{
sbLogs.AppendLine($"wait...{DateTime.Now.ToString()}");
exeProcess.WaitForExit();
sbLogs.AppendLine($"complete...{DateTime.Now.ToString()}");
}
sbLogs.AppendLine("Conversion complete.");
}
catch (Exception ex)
{
sbLogs.AppendLine(ex.ToString());
}
return new OkObjectResult(sbLogs);
}
}
dim C
Set C=CreateObject("HTMLConverter.HTMLConverterX")
C.Convert "c:\source.html", "c:\dest.jpg", "-cJPG -log c:\html.log"
C.Convert "https://www.coolutils.com/", "c:\URL Page.pdf", "-cPDF -log c:\html.log"
Response.Write C.ErrorMessage
set C = nothing
dim C
Set C=CreateObject("HTMLConverter.HTMLConverterX")
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.html", "C:\www\ASP", "-cpdf -log c:\html.log")
set C = nothing
$src="C:\\test\\test.html";
$dest="C:\\test\\test.pdf";
if (file_exists($dest)) unlink($dest);
$c= new COM("HTMLConverter.HTMLConverterX");
$c->convert($src,$dest, "-cPDF -log c:\\HTML.log");
if (file_exists($dest)) echo "OK"; else echo "fail:".$c->ErrorMessage;
require 'win32ole'
c = WIN32OLE.new('HTMLConverter.HTMLConverterX')
src = "C:\\test\\test.html"
dest = "C:\\test\\test.pdf"
c.convert(src, dest, "-cPDF -log c:\\test\\HTML.log")
if not File.exist?(dest)
puts c.ErrorMessage
end
import win32com.client
import os.path
c = win32com.client.Dispatch("HTMLConverter.HTMLConverterX")
src = "C:\\test\\test.html"
dest = "C:\\test\\test.pdf"
c.convert(src, dest, "-cPDF -log c:\\test\\HTML.log")
if not os.path.exists(dest):
print(c.ErrorMessage)
uses Dialogs, Vcl.OleAuto;
var
c: OleVariant;
begin
c := CreateOleObject('HTMLConverter.HTMLConverterX');
c.Convert('c:\test\source.html', 'c:\test\dest.pdf', '-cPDF -log c:\test\HTML.log');
if c.ErrorMessage <> '' then
ShowMessage(c.ErrorMessage);
end;
var c = new ActiveXObject("HTMLConverter.HTMLConverterX");
c.Convert("C:\\test\\source.html", "C:\\test\\dest.pdf", "-cPDF");
if (c.ErrorMessage != "")
alert(c.ErrorMessage)
use Win32::OLE; my $src = "C:\\test\\test.html"; my $dest = "C:\\test\\test.pdf"; my $c = CreateObject Win32::OLE 'HTMLConverter.HTMLConverterX'; $c->convert($src, $dest, "-cPDF -log c:\\test\\HTML.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.

Tópicos Relacionados
Converter HTML para PDF via Linha de Comando — Conversor em Lote para Servidores