Você tem pastas de pastas de trabalho Excel que precisam viver dentro do Microsoft Access — para consultas SQL, junções entre tabelas, indexação ou alimentação de um banco de dados de relatórios. Abrir cada XLSX no Access e percorrer o assistente de importação não escala além de dois ou três arquivos. O Total Excel Converter X converte arquivos XLS e XLSX para DBF (o formato dBase IV que o Access importa nativamente) pela linha de comando, em lote, sem interface gráfica e sem necessidade de instalação do Microsoft Office. 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 todos os arquivos 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 planilha. Cada planilha é uma grade plana — linhas e colunas, com fórmulas e formatação em camadas. O Excel lida com até 1.048.576 linhas por planilha, mas não tem junções nativas, sem buscas indexadas entre arquivos e sem modelo de transação compartilhado. Dois analistas editando o mesmo XLSX produzem duas cópias divergentes. Relatar dados que vivem em trinta pastas de trabalho significa escrever cadeias de VLOOKUP que quebram no momento em que uma coluna muda.
Access (e qualquer banco de dados que consuma DBF, incluindo FoxPro, OpenOffice Base e a maioria das ferramentas de BI) é construído para dados relacionais. Tabelas têm campos tipados, chaves primárias e índices. Consultas usam SQL: junções, agregações, filtros, subconsultas. Um banco de dados Access pode conter dezenas de milhões de linhas em múltiplas tabelas vinculadas e servi-las por meio de formulários e relatórios. Quando dados Excel precisam dirigir esse tipo de análise, eles têm que cair em uma tabela de banco de dados primeiro — e DBF é o formato que o Access importa sem atrito.
| Excel | Access / DBF | |
|---|---|---|
| Estrutura | Grade plana por planilha | Campos tipados, índices, relações |
| Consulta | Fórmulas, VLOOKUP | SQL com junções e agregações |
| Escala | 1M linhas por planilha, lento após 100K | Dezenas de milhões de linhas por tabela |
| Concorrência | Um editor por vez | Multi-usuário com bloqueio de linha |
| Fluxo de trabalho | Análise ad-hoc | Relatórios, ETL, pipelines de 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. Nenhuma instalação do Microsoft Office é necessária — o conversor analisa XLS e XLSX diretamente usando seu próprio motor, incluindo fórmulas, datas, precisão numérica e strings Unicode.
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 DBF:
XLSConverter.exe C:\Books\*.xlsx C:\Output\ -c DBF
Isso processa cada arquivo .xlsx em C:\Books\ e salva as tabelas DBF resultantes em C:\Output\. Cada pasta de trabalho produz um DBF com o mesmo nome base, pronto para arrastar para o Access via Dados Externos → Arquivo dBase.
Controle como as colunas se tornam campos DBF com flags adicionais:
XLSConverter.exe C:\Books\*.xlsx C:\Output\ -c DBF -Sheet Sheet1 -FirstRowHeader 1 -log C:\Logs\xls2dbf.log
-Sheet Sheet1 — escolhe uma planilha específica por nome (ou use um índice)-FirstRowHeader 1 — trata a linha 1 como nomes de campo; o conversor os sanitiza para identificadores DBF válidos-Range A1:G500 — restringe a conversão a um intervalo específico de células-log C:\Logs\xls2dbf.log — grava um log de conversão listando cada arquivo de entrada, arquivo de saída, contagem de linhas e quaisquer avisos de truncamento de campoSalve 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\DBF\ -c DBF -FirstRowHeader 1 -log C:\Logs\xls2dbf.log
Execute-o todas as noites ou depois que uma equipe financeira deposita sua pasta de trabalho diária na pasta de entrada. Os arquivos DBF são então vinculados ao Access via ODBC ou importados como tabelas nativas, e o restante do pipeline de relatórios roda contra um banco de dados real em vez de um emaranhado de planilhas.
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 DBF em seu próprio serviço ETL, portal de intranet ou aplicação de ingestão de dados sem executar um processo de linha de comando separado.
Exemplo (C#/.NET):
XLSConverterX Cnv = new XLSConverterX();
Cnv.Convert("C:\\Books\\sales.xlsx", "C:\\Output\\sales.dbf", "-c DBF -FirstRowHeader 1 -log c:\\Logs\\xls.log");
Exemplo (PHP):
$c = new COM("XLSConverter.XLSConverterX");
$c->convert("C:\\Books\\sales.xlsx", "C:\\Output\\sales.dbf", "-c DBF -FirstRowHeader 1 -log c:\\Logs\\xls.log");
A mesma chamada funciona a partir de ASP.NET, VBScript, Python, Ruby, Perl e JavaScript (Windows Script Host). Sua aplicação pode aceitar arquivos XLSX enviados de um formulário web, convertê-los em DBF e vincular o resultado ao Access ou carregá-lo diretamente em uma tabela de stage do SQL Server.
| Recurso | Conversores online | Total Excel Converter X |
|---|---|---|
| Processamento em lote | Um arquivo por vez | Arquivos ilimitados por lote |
| Privacidade dos arquivos | Pastas de trabalho enviadas para servidor de terceiros | Arquivos nunca saem da sua máquina |
| Detecção de tipo de campo | Tudo se torna Character | Numeric, Date, Logical, Character inferidos |
| Seleção de planilha | Apenas a primeira | Qualquer planilha por nome ou índice |
| Limite de linhas | Frequentemente limitado a 10K-50K linhas | Sem limite artificial |
| 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 |
O conversor lê XLS e XLSX diretamente e grava tabelas DBF sem o Microsoft Excel, LibreOffice ou qualquer aplicação de planilhas instalada. Isso evita o licenciamento Office por servidor e a conhecida instabilidade da automação do Excel em cenários autônomos.
Números permanecem numéricos, datas permanecem campos Date, flags verdadeiro/falso se tornam Logical, texto se torna Character com largura apropriada. O Access importa o resultado como uma tabela com tipagem adequada que você pode indexar, juntar e consultar imediatamente — sem etapa de conversão pós-importação.
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 host de ETL ou servidor de ingestão de dados precisa.
A mesma ferramenta de linha de comando converte Excel para CSV, JSON, XML, SQL, PDF, HTML, ODS e mais. Uma única instalação cobre seu pipeline completo de Excel-para-banco de dados e Excel-para-documento. Altere -c DBF para -c SQL e você obtém um script de instruções INSERT pronto para carregar em MySQL, PostgreSQL ou SQL Server 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
"Nossas clínicas enviam dados semanais de utilização em XLSX. Carregá-los no Access pelo assistente de importação consumia duas horas toda segunda-feira. Agora rodamos XLSConverter.exe a partir de um .bat agendado sobre o compartilhamento SMB, e as tabelas DBF vinculadas são atualizadas automaticamente. Os tipos de campo passam corretamente, incluindo as colunas de data que o assistente do Access costumava mutilar. Duas horas a menos por semana e zero toques manuais."
Linnea Ostberg Database Administrator, Regional Health Network
"Precisávamos migrar quinze anos de planilhas de despacho para um único banco de dados Access para análise de tendências. O Total Excel Converter X processou todo o arquivo em um lote — cerca de 4.200 pastas de trabalho — durante um fim de semana longo. O arquivo de log sinalizou os poucos arquivos com linhas de cabeçalho ruins, e o restante caiu no Access com campos Numeric e Date adequados. Melhor do que a alternativa de importação manual ou um script Python pontual que ninguém mais consegue manter."
Daniel Petrescu Reporting Analyst, Logistics Co.
"Incorporamos XLSConverter via interface COM em nosso serviço de ingestão. Clientes enviam tabelas de tarifas Excel pelo portal; o serviço as converte em DBF e vincula o resultado ao nosso banco de dados Access de stage para validação antes de promover para o SQL Server. A chamada ActiveX é rápida e previsível. A seleção de planilha e FirstRowHeader cobrem quase todos os templates de cliente; alguns casos de borda precisaram de pré-processamento do nosso lado, mas o suporte foi responsível quando perguntamos."
Aiyana Holloway ETL Developer, Insurance SaaS
XLSConverter.exe C:\Books\*.xlsx C:\Output\ -c DBF. Isso converte cada pasta de trabalho Excel da pasta de origem para uma tabela DBF, que o Access importa nativamente através de Dados Externos → Arquivo dBase. Adicione -FirstRowHeader 1 para usar a linha 1 como nomes de campo e -Sheet para escolher uma planilha específica.-FirstRowHeader 1 a primeira linha fornece nomes de campo, sanitizados para identificadores DBF válidos (máximo de 10 caracteres, sem espaços).-Sheet SheetName para converter uma planilha específica, ou execute o conversor uma vez por planilha para produzir um DBF por planilha. Cada DBF pode então ser importado como uma tabela separada no Access, permitindo juntar entre planilhas que anteriormente viviam em uma única pasta de trabalho.
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.