Sie haben Ordner mit Excel-Arbeitsmappen, die in Microsoft Access leben müssen — für SQL-Abfragen, Joins über Tabellen, Indexierung oder zur Versorgung einer Reporting-Datenbank. Jede XLSX in Access zu öffnen und durch den Importassistenten zu gehen, skaliert nicht über zwei oder drei Dateien hinaus. Total Excel Converter X konvertiert XLS- und XLSX-Dateien in DBF (das dBase-IV-Format, das Access nativ importiert) über die Befehlszeile, im Stapelbetrieb, ohne GUI und ohne dass eine Microsoft-Office-Installation erforderlich ist. Installieren Sie es auf einem Windows-Server, rufen Sie es aus einem Skript oder über ActiveX auf und lassen Sie es unbeaufsichtigt laufen.
*.xlsx) an und der Konverter verarbeitet alle passenden Dateien in einem Durchlauf
(30 Tage, keine E-Mail)
(Server-Lizenz, dauerhaft)
Windows 7/8/10/11 • Server 2008/2012/2016/2019/2022
Excel ist eine Tabellenkalkulation. Jedes Arbeitsblatt ist ein flaches Raster — Zeilen und Spalten, mit Formeln und Formatierung darüber. Excel verarbeitet bis zu 1.048.576 Zeilen pro Blatt, hat aber keine nativen Joins, keine indizierten Lookups über Dateien hinweg und kein gemeinsames Transaktionsmodell. Zwei Analysten, die dieselbe XLSX bearbeiten, erzeugen zwei auseinanderlaufende Kopien. Berichterstattung über Daten, die in dreißig Arbeitsmappen leben, bedeutet, SVERWEIS-Ketten zu schreiben, die in dem Moment brechen, in dem sich eine Spalte verschiebt.
Access (und jede Datenbank, die DBF konsumiert, einschließlich FoxPro, OpenOffice Base und der meisten BI-Tools) ist für relationale Daten gebaut. Tabellen haben typisierte Felder, Primärschlüssel und Indizes. Abfragen verwenden SQL: Joins, Aggregationen, Filter, Unterabfragen. Eine Access-Datenbank kann Zigmillionen Zeilen über mehrere verknüpfte Tabellen halten und sie über Formulare und Berichte bereitstellen. Wenn Excel-Daten diese Art von Analyse antreiben sollen, müssen sie zunächst in einer Datenbanktabelle landen — und DBF ist das Format, das Access ohne Konvertierungsreibung importiert.
| Excel | Access / DBF | |
|---|---|---|
| Struktur | Flaches Raster pro Blatt | Typisierte Felder, Indizes, Beziehungen |
| Abfrage | Formeln, SVERWEIS | SQL mit Joins und Aggregationen |
| Skalierung | 1M Zeilen pro Blatt, langsam ab 100K | Zigmillionen Zeilen pro Tabelle |
| Parallelität | Ein Editor auf einmal | Multi-User mit Zeilensperre |
| Workflow | Ad-hoc-Analyse | Reporting, ETL, BI-Pipelines |
Laden Sie das Installationsprogramm über den obigen Link herunter und führen Sie es auf Ihrem Windows-Server oder Arbeitsplatzrechner aus. Die Installation dauert weniger als eine Minute. Keine Microsoft-Office-Installation erforderlich — der Konverter parst XLS und XLSX direkt mit seiner eigenen Engine, einschließlich Formeln, Daten, numerischer Präzision und Unicode-Zeichenketten.
Öffnen Sie cmd.exe oder PowerShell. Die ausführbare Datei des Konverters ist XLSConverter.exe und befindet sich im Installationsordner (in der Regel C:\Program Files\CoolUtils\TotalExcelConverterX\). Fügen Sie ihn Ihrem System-PATH hinzu oder verwenden Sie den vollständigen Pfad in Ihren Befehlen.
Der einfachste Befehl konvertiert alle Excel-Dateien in einem Ordner in DBF:
XLSConverter.exe C:\Books\*.xlsx C:\Output\ -c DBF
Dies verarbeitet jede .xlsx-Datei in C:\Books\ und speichert die resultierenden DBF-Tabellen in C:\Output\. Jede Arbeitsmappe erzeugt eine DBF mit demselben Basisnamen, bereit, in Access über Externe Daten → dBase-Datei gezogen zu werden.
Steuern Sie, wie Spalten zu DBF-Feldern werden, mit zusätzlichen Flags:
XLSConverter.exe C:\Books\*.xlsx C:\Output\ -c DBF -Sheet Sheet1 -FirstRowHeader 1 -log C:\Logs\xls2dbf.log
-Sheet Sheet1 — wählen Sie ein bestimmtes Arbeitsblatt nach Name aus (oder verwenden Sie einen Index)-FirstRowHeader 1 — behandelt Zeile 1 als Feldnamen; der Konverter bereinigt sie zu gültigen DBF-Bezeichnern-Range A1:G500 — beschränkt die Konvertierung auf einen bestimmten Zellbereich-log C:\Logs\xls2dbf.log — schreibt ein Konvertierungsprotokoll mit Auflistung jeder Eingabedatei, Ausgabedatei, Zeilenzahl und etwaiger FeldkürzungswarnungenSpeichern Sie Ihren Befehl in einer .bat-Datei und planen Sie ihn mit dem Windows-Aufgabenplaner:
@echo off "C:\Program Files\CoolUtils\TotalExcelConverterX\XLSConverter.exe" C:\Incoming\*.xlsx C:\Archive\DBF\ -c DBF -FirstRowHeader 1 -log C:\Logs\xls2dbf.log
Führen Sie ihn jede Nacht aus, oder nachdem ein Finanzteam seine tägliche Arbeitsmappe in den Eingangsordner gelegt hat. Die DBF-Dateien werden dann über ODBC in Access verknüpft oder als native Tabellen importiert, und der Rest der Reporting-Pipeline läuft gegen eine echte Datenbank statt gegen ein Gewirr von Tabellen.
Total Excel Converter X enthält eine vollständige ActiveX-Schnittstelle. Sie können den Konverter aus jeder COM-kompatiblen Umgebung aufrufen — .NET, VBScript, PHP, Python, Ruby oder ASP. So können Sie die Excel-zu-DBF-Konvertierung in Ihren eigenen ETL-Dienst, Ihr Intranet-Portal oder Ihre Daten-Ingest-Anwendung einbetten, ohne einen Befehlszeilenprozess aufrufen zu müssen.
Beispiel (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");
Beispiel (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");
Der gleiche Aufruf funktioniert aus ASP.NET, VBScript, Python, Ruby, Perl und JavaScript (Windows Script Host). Ihre Anwendung kann hochgeladene XLSX-Dateien aus einem Web-Formular akzeptieren, sie in DBF konvertieren und das Ergebnis in Access verknüpfen oder direkt in eine SQL-Server-Staging-Tabelle laden.
| Funktion | Online-Konverter | Total Excel Converter X |
|---|---|---|
| Stapelverarbeitung | Eine Datei auf einmal | Unbegrenzte Dateien pro Stapel |
| Datenschutz | Arbeitsmappen werden auf Drittanbieter-Server hochgeladen | Dateien verlassen nie Ihren Rechner |
| Feldtyperkennung | Alles wird zu Character | Numeric, Date, Logical, Character abgeleitet |
| Blattauswahl | Nur erstes Blatt | Jedes Blatt nach Name oder Index |
| Zeilenlimit | Oft auf 10K-50K Zeilen begrenzt | Keine künstliche Obergrenze |
| Automatisierung | Nur manuell | Befehlszeile, .bat, Aufgabenplaner, ActiveX |
| Server-Bereitstellung | Nicht möglich | Für Server konzipiert, keine GUI erforderlich |
| Excel-Installation erforderlich | N. z. | Nein |
Der Konverter liest XLS und XLSX direkt und schreibt DBF-Tabellen, ohne dass Microsoft Excel, LibreOffice oder eine andere Tabellenkalkulationsanwendung installiert sein muss. Das vermeidet Pro-Server-Office-Lizenzierung und die bekannte Instabilität der Excel-Automatisierung in unbeaufsichtigten Szenarien.
Zahlen bleiben numerisch, Daten bleiben Date-Felder, Wahr/Falsch-Flags werden zu Logical, Text wird zu Character mit angemessener Breite. Access importiert das Ergebnis als ordnungsgemäß typisierte Tabelle, die Sie sofort indizieren, joinen und abfragen können — kein Konvertierungsschritt nach dem Import.
Total Excel Converter X ist für den unbeaufsichtigten Einsatz konzipiert. Keine GUI-Fenster, keine Dialogfelder, keine Bestätigungsaufforderungen. Es läuft lautlos über die Befehlszeile oder als Teil eines Dienstes — genau das, was ein ETL-Host oder Daten-Ingest-Server benötigt.
Das gleiche Befehlszeilentool konvertiert Excel in CSV, JSON, XML, SQL, PDF, HTML, ODS und mehr. Eine Installation deckt Ihre gesamte Excel-zu-Datenbank- und Excel-zu-Dokument-Pipeline ab. Ändern Sie -c DBF in -c SQL und Sie erhalten ein Skript mit INSERT-Anweisungen, bereit zum Laden in MySQL, PostgreSQL oder SQL Server mit den gleichen Stapel- und Automatisierungsfunktionen.
(30 Tage, keine E-Mail oder Kreditkarte)
(Server-Lizenz, dauerhaft)
Windows 7/8/10/11 • Server 2008/2012/2016/2019/2022
"Unsere Kliniken reichen wöchentliche Auslastungsdaten in XLSX ein. Diese in Access über den Importassistenten zu laden, hat jeden Montag zwei Stunden gefressen. Wir führen XLSConverter.exe jetzt aus einer geplanten .bat über die SMB-Freigabe aus, und die verknüpften DBF-Tabellen aktualisieren sich automatisch. Feldtypen kommen korrekt durch, einschließlich der Datumsspalten, die der Access-Assistent früher verstrübelt hat. Zwei Stunden pro Woche zurück und null manuelle Eingriffe."
Linnea Ostberg Database Administrator, Regional Health Network
"Wir mussten fünfzehn Jahre Disposition-Tabellen für Trendanalysen in eine einzige Access-Datenbank migrieren. Total Excel Converter X bewältigte das gesamte Archiv in einem Stapel — etwa 4.200 Arbeitsmappen — über ein langes Wochenende. Die Protokolldatei markierte die Handvoll Dateien mit fehlerhaften Kopfzeilen, und der Rest landete mit korrekten Numeric- und Date-Feldern in Access. Schlägt die Alternative von manuellem Import oder einem einmaligen Python-Skript, das niemand sonst pflegen kann."
Daniel Petrescu Reporting Analyst, Logistics Co.
"Wir betten XLSConverter über die COM-Schnittstelle in unseren Ingest-Service ein. Kunden laden Excel-Tarifkarten über das Portal hoch; der Service konvertiert sie in DBF und verknüpft das Ergebnis in unsere Staging-Access-Datenbank zur Validierung, bevor es in den SQL Server promoted wird. Der ActiveX-Aufruf ist schnell und vorhersehbar. Sheet-Auswahl und FirstRowHeader decken fast jede Kundenvorlage ab; ein paar Sonderfälle erforderten Vorverarbeitung auf unserer Seite, aber der Support war reaktionsschnell, wenn wir gefragt haben."
Aiyana Holloway ETL Developer, Insurance SaaS
XLSConverter.exe C:\Books\*.xlsx C:\Output\ -c DBF. Dies konvertiert jede Excel-Arbeitsmappe im Quellordner in eine DBF-Tabelle, die Access nativ über Externe Daten → dBase-Datei importiert. Fügen Sie -FirstRowHeader 1 hinzu, um Zeile 1 als Feldnamen zu verwenden, und -Sheet, um ein bestimmtes Arbeitsblatt auszuwählen.-FirstRowHeader 1 liefert die erste Zeile Feldnamen, bereinigt zu gültigen DBF-Bezeichnern (max. 10 Zeichen, keine Leerzeichen).-Sheet SheetName, um ein bestimmtes Blatt zu konvertieren, oder führen Sie den Konverter einmal pro Blatt aus, um eine DBF pro Arbeitsblatt zu erzeugen. Jede DBF kann dann als separate Tabelle in Access importiert werden, sodass Sie über Blätter joinen können, die zuvor in einer einzigen Arbeitsmappe lebten.
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;
Laden Sie die Testversion herunter und konvertieren Sie Ihre Dateien in wenigen Minuten.
Keine Kreditkarte oder Email erforderlich.