U hebt mappen vol Excel-werkmappen die binnen Microsoft Access moeten leven — voor SQL-query's, joins over tabellen heen, indexering of het voeden van een rapportagedatabase. Elke XLSX in Access openen en door de importwizard wandelen schaalt niet voorbij twee of drie bestanden. Total Excel Converter X converteert XLS- en XLSX-bestanden naar DBF (het dBase IV-formaat dat Access native importeert) vanaf de opdrachtregel, in batch, zonder GUI en zonder dat een Microsoft Office-installatie nodig is. Installeer het op een Windows-server, roep het aan vanuit een script of via ActiveX, en laat het onbeheerd draaien.
*.xlsx) en de converter verwerkt elk overeenkomend bestand in één keer
(30 dagen, geen e-mail)
(serverlicentie, eeuwigdurend)
Windows 7/8/10/11 • Server 2008/2012/2016/2019/2022
Excel is een spreadsheet. Elk werkblad is een plat raster — rijen en kolommen, met formules en opmaak erbovenop. Excel verwerkt tot 1.048.576 rijen per blad, maar het heeft geen native joins, geen geïndexeerde lookups over bestanden heen en geen gedeeld transactiemodel. Twee analisten die dezelfde XLSX bewerken produceren twee uiteenlopende kopieën. Rapporteren over gegevens die over dertig werkmappen leven betekent VLOOKUP-ketens schrijven die breken zodra een kolom verschuift.
Access (en elke database die DBF consumeert, waaronder FoxPro, OpenOffice Base en de meeste BI-tools) is gebouwd voor relationele gegevens. Tabellen hebben getypeerde velden, primaire sleutels en indexen. Query's gebruiken SQL: joins, aggregaties, filters, subquery's. Eén Access-database kan tientallen miljoenen rijen bevatten over meerdere gekoppelde tabellen heen en ze serveren via formulieren en rapporten. Wanneer Excel-gegevens dat soort analyse moeten aandrijven, moeten ze eerst in een databasetabel landen — en DBF is het formaat dat Access importeert zonder conversiefrictie.
| Excel | Access / DBF | |
|---|---|---|
| Structuur | Plat raster per blad | Getypeerde velden, indexen, relaties |
| Bevragen | Formules, VLOOKUP | SQL met joins en aggregaties |
| Schaal | 1M rijen per blad, traag voorbij 100K | Tientallen miljoenen rijen per tabel |
| Gelijktijdigheid | Eén bewerker tegelijk | Meerdere gebruikers met rij-vergrendeling |
| Werkstroom | Ad-hoc-analyse | Rapportage, ETL, BI-pipelines |
Download het installatieprogramma via de bovenstaande link en voer het uit op uw Windows-server of werkstation. De installatie duurt minder dan een minuut. Er is geen Microsoft Office-installatie vereist — de converter parseert XLS en XLSX rechtstreeks met zijn eigen engine, inclusief formules, datums, numerieke precisie en Unicode-tekst.
Open cmd.exe of PowerShell. Het uitvoerbare bestand van de converter is XLSConverter.exe, te vinden in de installatiemap (meestal C:\Program Files\CoolUtils\TotalExcelConverterX\). Voeg het toe aan uw systeem-PATH of gebruik het volledige pad in uw commando's.
Het eenvoudigste commando converteert alle Excel-bestanden in een map naar DBF:
XLSConverter.exe C:\Books\*.xlsx C:\Output\ -c DBF
Dit verwerkt elk .xlsx-bestand in C:\Books\ en slaat de resulterende DBF-tabellen op in C:\Output\. Elke werkmap levert één DBF op met dezelfde basisnaam, klaar om in Access te slepen via Externe gegevens → dBase-bestand.
Beheer hoe kolommen DBF-velden worden met extra vlaggen:
XLSConverter.exe C:\Books\*.xlsx C:\Output\ -c DBF -Sheet Sheet1 -FirstRowHeader 1 -log C:\Logs\xls2dbf.log
-Sheet Sheet1 — kies een specifiek werkblad op naam (of gebruik een index)-FirstRowHeader 1 — behandel rij 1 als veldnamen; de converter saneert ze tot geldige DBF-identifiers-Range A1:G500 — beperk de conversie tot een specifiek celbereik-log C:\Logs\xls2dbf.log — schrijf een conversielog dat elk invoerbestand, uitvoerbestand, rij-aantal en eventuele veld-afkappingswaarschuwingen vermeldtSla uw commando op in een .bat-bestand en plan het in met Windows Taakplanner:
@echo off "C:\Program Files\CoolUtils\TotalExcelConverterX\XLSConverter.exe" C:\Incoming\*.xlsx C:\Archive\DBF\ -c DBF -FirstRowHeader 1 -log C:\Logs\xls2dbf.log
Voer het elke nacht uit, of nadat een financieel team hun dagelijkse werkmap in de inkomende map heeft geplaatst. De DBF-bestanden worden vervolgens via ODBC in Access gekoppeld of als native tabellen geïmporteerd, en de rest van de rapportagepipeline draait tegen een echte database in plaats van een wirwar van spreadsheets.
Total Excel Converter X bevat een volledige ActiveX-interface. U kunt de converter aanroepen vanuit elke COM-compatibele omgeving — .NET, VBScript, PHP, Python, Ruby of ASP. Hiermee kunt u Excel-naar-DBF-conversie inbouwen in uw eigen ETL-service, intranetportaal of data-ingest-applicatie zonder een opdrachtregelproces te hoeven starten.
Voorbeeld (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");
Voorbeeld (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");
Dezelfde aanroep werkt vanuit ASP.NET, VBScript, Python, Ruby, Perl en JavaScript (Windows Script Host). Uw applicatie kan geüploade XLSX-bestanden van een webformulier accepteren, ze converteren naar DBF en het resultaat in Access koppelen of rechtstreeks in een SQL Server-staging-tabel laden.
| Functie | Online converters | Total Excel Converter X |
|---|---|---|
| Batchverwerking | Eén bestand tegelijk | Onbeperkt aantal bestanden per batch |
| Bestandsprivacy | Werkmappen geüpload naar server van derden | Bestanden verlaten nooit uw machine |
| Veldtype-detectie | Alles wordt Character | Numeric, Date, Logical, Character afgeleid |
| Bladselectie | Alleen eerste blad | Elk blad op naam of index |
| Rij-limiet | Vaak gemaximeerd op 10K-50K rijen | Geen kunstmatige limiet |
| Automatisering | Alleen handmatig | Opdrachtregel, .bat, Taakplanner, ActiveX |
| Serverimplementatie | Niet mogelijk | Ontworpen voor servers, geen GUI nodig |
| Vereist Excel geïnstalleerd | N.v.t. | Nee |
De converter leest XLS en XLSX rechtstreeks en schrijft DBF-tabellen zonder Microsoft Excel, LibreOffice of welke spreadsheettoepassing dan ook geïnstalleerd. Dit voorkomt Office-licentiekosten per server en de bekende instabiliteit van het automatiseren van Excel in onbeheerde scenario's.
Getallen blijven numeriek, datums blijven Date-velden, true/false-vlaggen worden Logical, tekst wordt Character met passende breedte. Access importeert het resultaat als een correct getypeerde tabel die u onmiddellijk kunt indexeren, joinen en bevragen — geen post-import-conversiestap.
Total Excel Converter X is ontworpen voor onbeheerd gebruik. Geen GUI-vensters, geen dialoogvensters, geen bevestigingsprompts. Het draait stil vanaf de opdrachtregel of als onderdeel van een dienst — precies wat een ETL-host of data-ingest-server nodig heeft.
Dezelfde opdrachtregeltool converteert Excel naar CSV, JSON, XML, SQL, PDF, HTML, ODS en meer. Eén installatie dekt uw volledige Excel-naar-database- en Excel-naar-document-pipeline. Verander -c DBF in -c SQL en u krijgt een script met INSERT-statements klaar om te laden in MySQL, PostgreSQL of SQL Server, met dezelfde batch- en automatiseringsfuncties.
(30 dagen, geen e-mail of creditcard)
(serverlicentie, eeuwigdurend)
Windows 7/8/10/11 • Server 2008/2012/2016/2019/2022
"Onze klinieken dienen wekelijks utilisatiegegevens in als XLSX. Die in Access laden via de importwizard kostte elke maandag twee uur. We draaien nu XLSConverter.exe vanuit een geplande .bat over de SMB-share, en de gekoppelde DBF-tabellen verversen automatisch. Veldtypen komen correct door, inclusief de datumkolommen die de Access-wizard altijd verprutste. Twee uur terug per week, en nul handmatige aanrakingen."
Linnea Ostberg Database Administrator, Regional Health Network
"We moesten vijftien jaar verzendspreadsheets migreren naar één Access-database voor trendanalyse. Total Excel Converter X verwerkte het hele archief in één batch — ongeveer 4.200 werkmappen — over een lang weekend. Het logbestand markeerde de paar bestanden met slechte kopregels, en de rest belandde in Access met juiste Numeric- en Date-velden. Beter dan het alternatief van handmatige import of een eenmalig Python-script dat niemand anders kan onderhouden."
Daniel Petrescu Reporting Analyst, Logistics Co.
"We embedden XLSConverter via de COM-interface in onze ingest-service. Klanten uploaden Excel-tariefkaarten via het portaal; de service converteert ze naar DBF en koppelt het resultaat in onze staging-Access-database voor validatie voordat ze naar SQL Server worden gepromoveerd. De ActiveX-aanroep is snel en voorspelbaar. Bladselectie en FirstRowHeader dekken bijna elke klantsjabloon; een paar randgevallen vereisten voorbewerking aan onze kant, maar support was responsief toen we het vroegen."
Aiyana Holloway ETL Developer, Insurance SaaS
XLSConverter.exe C:\Books\*.xlsx C:\Output\ -c DBF. Dit converteert elke Excel-werkmap in de bronmap naar een DBF-tabel, die Access native importeert via Externe gegevens → dBase-bestand. Voeg -FirstRowHeader 1 toe om rij 1 als veldnamen te gebruiken en -Sheet om een specifiek werkblad te kiezen.-FirstRowHeader 1 levert de eerste rij veldnamen, gesaneerd tot geldige DBF-identifiers (max 10 tekens, geen spaties).-Sheet Bladnaam om een specifiek blad te converteren, of voer de converter eenmaal per blad uit om één DBF per werkblad te produceren. Elke DBF kan vervolgens als afzonderlijke tabel in Access worden geïmporteerd, waardoor u kunt joinen over bladen die voorheen in één werkmap leefden.
string src="C:\\test\\Source.xlsx";
string dest="C:\\test\\Dest.PDF";
ExcelConverterX Cnv = new ExcelConverterX();
Cnv.Convert(src, dest, "-c PDF -log c:\\test\\Excel.log");
MessageBox.Show("Conversie voltooid!");
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("begonnen...");
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 msgPath = $@"{assemblyDirectoryPath}\MSG\MSG-1.xlsx";
var outPath = Path.GetTempFileName() + ".pdf";
startInfo.FileName = executablePath;
if (File.Exists(outPath))
{
File.Delete(outPath);
}
if (File.Exists(executablePath) && File.Exists(msgPath))
{
sbLogs.AppendLine("bestanden aanwezig...");
}
else
sbLogs.AppendLine("EXE- en MSG-bestanden NIET aanwezig...");
startInfo.WindowStyle = ProcessWindowStyle.Hidden;
startInfo.Arguments = $"{msgPath} {outPath}";
using (Process exeProcess = Process.Start(startInfo))
{
sbLogs.AppendLine($"wacht...{DateTime.Now.ToString()}");
exeProcess.WaitForExit();
sbLogs.AppendLine($"voltooid...{DateTime.Now.ToString()}");
}
int sleepCounter = 10;
while(!File.Exists(outPath) && sleepCounter > 0)
{
System.Threading.Thread.Sleep(1000);
sbLogs.AppendLine("slaap...");
sleepCounter--;
}
if (File.Exists(outPath))
sbLogs.AppendLine("Conversie succesvol voltooid.");
}
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"
Rresponse.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.XLS";
$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 "mislukt:" . $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(file_path):
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.XLS"; 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;
Download de gratis proefversie en converteer uw bestanden in enkele minuten.
Geen creditcard of e-mail vereist.