Logo
Home Products Support Contact About Us
arrow1 File Converters
arrow1 TIFF and PDF apps
arrow1 Forensic
arrow1 Freeware

Convert Excel to Access via Command Line — Server Batch Converter

You have folders of Excel workbooks that need to live inside Microsoft Access — for SQL queries, joins across tables, indexing, or feeding a reporting database. Opening each XLSX in Access and walking through the import wizard does not scale past two or three files. Total Excel Converter X converts XLS and XLSX files to DBF (the dBase IV format that Access imports natively) from the command line, in batch, with no GUI and no Microsoft Office installation required. Install it on a Windows server, call it from a script or via ActiveX, and let it run unattended.

What Total Excel Converter X Does

  • Batch conversion — pass a wildcard (*.xlsx) and the converter processes every matching file in one run
  • DBF output for Access — produces dBase IV tables with proper field types, ready for direct import into Access, FoxPro, OpenOffice Base, or any BI tool that reads DBF
  • Field-name detection — uses the first row of the worksheet as DBF field names and infers field types (Character, Numeric, Date, Logical) from the column data
  • Sheet selection — convert a specific worksheet by name or index, or process every sheet in the workbook as a separate DBF
  • No Excel required — the converter reads XLS and XLSX directly without Microsoft Office on the server
  • No GUI — runs silently from the command line with no pop-up windows or confirmation dialogs
  • ActiveX / COM — call the converter from .NET, VBScript, PHP, Python, or any COM-compatible environment to embed conversion into your own application
  • .bat scripting — save commands in batch files and schedule them with Windows Task Scheduler for fully automated ETL jobs

Excel to Access DBF command line conversion

Download Free Trial

(30 days, no email)

Buy License

(server license, perpetual)

Windows 7/8/10/11 • Server 2008/2012/2016/2019/2022

Excel vs Access: Why Convert?

Excel is a spreadsheet. Each worksheet is a flat grid — rows and columns, with formulas and formatting layered on top. Excel handles up to 1,048,576 rows per sheet, but it has no native joins, no indexed lookups across files, and no shared transaction model. Two analysts editing the same XLSX produce two diverging copies. Reporting on data that lives across thirty workbooks means writing VLOOKUP chains that break the moment a column shifts.

Access (and any database that consumes DBF, including FoxPro, OpenOffice Base, and most BI tools) is built for relational data. Tables have typed fields, primary keys, and indexes. Queries use SQL: joins, aggregations, filters, subqueries. One Access database can hold tens of millions of rows across multiple linked tables and serve them through forms and reports. When Excel data needs to drive that kind of analysis, it has to land in a database table first — and DBF is the format Access imports without conversion friction.

ExcelAccess / DBF
StructureFlat grid per sheetTyped fields, indexes, relations
QueryingFormulas, VLOOKUPSQL with joins and aggregations
Scale1M rows per sheet, slow past 100KTens of millions of rows per table
ConcurrencyOne editor at a timeMulti-user with row locking
WorkflowAd-hoc analysisReporting, ETL, BI pipelines

How to Convert Excel to Access from the Command Line

Step 1. Install Total Excel Converter X

Download the installer from the link above and run it on your Windows server or workstation. The setup takes under a minute. No Microsoft Office installation is required — the converter parses XLS and XLSX directly using its own engine, including formulas, dates, numeric precision, and Unicode strings.

Step 2. Open the Command Prompt

Open cmd.exe or PowerShell. The converter executable is XLSConverter.exe, located in the installation folder (typically C:\Program Files\CoolUtils\TotalExcelConverterX\). Add it to your system PATH or use the full path in your commands.

Step 3. Run the Basic Conversion

The simplest command converts all Excel files in a folder to DBF:

XLSConverter.exe C:\Books\*.xlsx C:\Output\ -c DBF

This processes every .xlsx file in C:\Books\ and saves the resulting DBF tables in C:\Output\. Each workbook produces one DBF with the same base name, ready to drag into Access via External Data → dBase File.

Step 4. Add Field-Mapping and Logging Options

Control how columns become DBF fields with additional flags:

XLSConverter.exe C:\Books\*.xlsx C:\Output\ -c DBF -Sheet Sheet1 -FirstRowHeader 1 -log C:\Logs\xls2dbf.log
  • -Sheet Sheet1 — pick a specific worksheet by name (or use an index)
  • -FirstRowHeader 1 — treat row 1 as field names; the converter sanitizes them to valid DBF identifiers
  • -Range A1:G500 — restrict the conversion to a specific cell range
  • -log C:\Logs\xls2dbf.log — write a conversion log listing each input file, output file, row count, and any field-truncation warnings

Step 5. Automate with a .bat File

Save your command in a .bat file and schedule it with Windows Task Scheduler:

@echo off
"C:\Program Files\CoolUtils\TotalExcelConverterX\XLSConverter.exe" C:\Incoming\*.xlsx C:\Archive\DBF\ -c DBF -FirstRowHeader 1 -log C:\Logs\xls2dbf.log

Run it every night, or after a finance team drops their daily workbook into the incoming folder. The DBF files are then linked into Access through ODBC or imported as native tables, and the rest of the reporting pipeline runs against a real database instead of a tangle of spreadsheets.

ActiveX / COM Integration

Total Excel Converter X includes a full ActiveX interface. You can call the converter from any COM-compatible environment — .NET, VBScript, PHP, Python, Ruby, or ASP. This lets you embed Excel-to-DBF conversion into your own ETL service, intranet portal, or data-ingest application without shelling out to a command-line process.

Example (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");

Example (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");

The same call works from ASP.NET, VBScript, Python, Ruby, Perl, and JavaScript (Windows Script Host). Your application can accept uploaded XLSX files from a web form, convert them to DBF, and link the result into Access or load it straight into a SQL Server staging table.

Online Converters vs Total Excel Converter X

FeatureOnline ConvertersTotal Excel Converter X
Batch processingOne file at a timeUnlimited files per batch
File privacyWorkbooks uploaded to third-party serverFiles never leave your machine
Field type detectionEverything becomes CharacterNumeric, Date, Logical, Character inferred
Sheet selectionFirst sheet onlyAny sheet by name or index
Row limitOften capped at 10K-50K rowsNo artificial cap
AutomationManual onlyCommand line, .bat, Task Scheduler, ActiveX
Server deploymentNot possibleDesigned for servers, no GUI needed
Requires Excel installedN/ANo

When You Need Excel to Access Command-Line Conversion

  • ETL into a reporting warehouse. A finance team drops daily XLSX exports into a network folder. A scheduled .bat job converts them to DBF overnight; Access links the tables and the morning dashboards refresh against a real database instead of brittle VLOOKUP chains.
  • Migrating legacy spreadsheets to Access. A department has run on Excel for fifteen years. Migrating to Access means converting hundreds of historical workbooks to DBF in one pass, preserving field types and date columns instead of re-typing everything by hand.
  • Field-data sync with a relational database. Surveyors and auditors collect data in Excel on laptops. Back at the office, a scheduled job converts each submitted workbook to DBF and appends it to the master Access table, ready for SQL queries and joins against existing reference data.
  • Feeding BI tools that read DBF. Crystal Reports, FoxPro applications, and several specialised BI tools consume DBF natively. Converting Excel sources to DBF lets you point existing report templates at the new data without rewriting the reporting layer.
  • Eliminating Microsoft Office on servers. Running Excel in unattended mode is unsupported and unreliable. Total Excel Converter X reads XLS and XLSX directly with no Office dependency, which keeps your ETL host clean and easy to license.

Why Total Excel Converter X

No Office Required

The converter reads XLS and XLSX directly and writes DBF tables without Microsoft Excel, LibreOffice, or any spreadsheet application installed. This avoids per-server Office licensing and the well-known instability of automating Excel in unattended scenarios.

Real Field Types, Not All-Strings

Numbers stay numeric, dates stay Date fields, true/false flags become Logical, text becomes Character with appropriate width. Access imports the result as a properly typed table that you can index, join, and query immediately — no post-import conversion step.

True Server Application

Total Excel Converter X is designed for unattended use. No GUI windows, no dialog boxes, no confirmation prompts. It runs silently from the command line or as part of a service — exactly what an ETL host or data-ingest server needs.

Not Just DBF

The same command-line tool converts Excel to CSV, JSON, XML, SQL, PDF, HTML, ODS, and more. One installation covers your full Excel-to-database and Excel-to-document pipeline. Change -c DBF to -c SQL and you get a script of INSERT statements ready to load into MySQL, PostgreSQL, or SQL Server with the same batch and automation features.

Download Free Trial

(30 days, no email or credit card)

Buy License

(server license, perpetual)

Windows 7/8/10/11 • Server 2008/2012/2016/2019/2022


quote

Total Excel Converter X Customer Reviews 2026

Rate It
Rated 4.7/5 based on customer reviews
5 Star

"Our clinics submit weekly utilization data in XLSX. Loading those into Access through the import wizard ate two hours every Monday. We now run XLSConverter.exe from a scheduled .bat over the SMB share, and the linked DBF tables refresh automatically. Field types come through correctly, including the date columns that the Access wizard used to mangle. Two hours back per week, and zero manual touches."

5 Star Linnea Ostberg Database Administrator, Regional Health Network

"We needed to migrate fifteen years of dispatch spreadsheets into a single Access database for trend analysis. Total Excel Converter X handled the whole archive in one batch — about 4,200 workbooks — over a long weekend. The log file flagged the handful of files with bad header rows, and the rest landed in Access with proper Numeric and Date fields. Beats the alternative of manual import or a one-off Python script that nobody else can maintain."

5 Star Daniel Petrescu Reporting Analyst, Logistics Co.

"We embed XLSConverter via the COM interface in our ingest service. Customers upload Excel rate cards through the portal; the service converts them to DBF and links the result into our staging Access database for validation before promoting to SQL Server. The ActiveX call is fast and predictable. Sheet selection and FirstRowHeader cover almost every customer template; a couple of edge cases needed pre-processing on our side, but support was responsive when we asked."

4 Star Aiyana Holloway ETL Developer, Insurance SaaS

FAQ ▼

The basic command is: XLSConverter.exe C:\Books\*.xlsx C:\Output\ -c DBF. This converts every Excel workbook in the source folder to a DBF table, which Access imports natively through External Data → dBase File. Add -FirstRowHeader 1 to use row 1 as field names and -Sheet to pick a specific worksheet.
DBF (dBase IV) is the lingua-franca database format that Access, FoxPro, OpenOffice Base, Crystal Reports, and most BI tools read natively. Producing DBF instead of MDB/ACCDB removes the dependency on the Access Database Engine and works with every version of Access from 2000 onwards. Once imported, the DBF becomes a standard Access table.
Total Excel Converter X infers field types from the column data: numbers become Numeric, dates become Date, TRUE/FALSE become Logical, and text becomes Character with the width sized to the longest value. With -FirstRowHeader 1 the first row supplies field names, sanitized to valid DBF identifiers (max 10 chars, no spaces).
No. The converter reads XLS and XLSX directly and writes DBF without Microsoft Office. You only need Access on the workstation that imports or links the DBF for querying — the conversion host stays Office-free, which simplifies licensing and avoids the instability of automating Excel unattended.
Yes. In Access, choose External Data → New Data Source → From File → dBASE File, point to the DBF, and either link it (live updates as the DBF changes) or import it as a native Access table. Field types and names come across as defined in the DBF, ready for SQL queries, joins, and indexing.
Yes. Use -Sheet SheetName to convert a specific sheet, or run the converter once per sheet to produce one DBF per worksheet. Each DBF can then be imported as a separate table in Access, letting you join across sheets that previously lived in a single workbook.
DBF supports up to 1 billion records per table, well beyond Excel's 1,048,576-row sheet limit. Total Excel Converter X imposes no artificial cap — if your XLSX fits in Excel, the DBF will hold it. Field width per record is capped at 65,535 bytes by the DBF specification, which is rarely a constraint for spreadsheet data.

 

Start working now!

Download free trial and convert your files in minutes.
No credit card or email required.

⬇ Download Free Trial Windows 7/8/10/11 • 95 MB

Examples of Total Excel ConverterX

Convert excel files With TotalExcelConverterX and .NET


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("Convert complete!");

Convert Excel Files On Web Servers With Total Excel ConverterX

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 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("files exists...");
                }
                else
                    sbLogs.AppendLine("EXE & MSG files NOT exists...");
                startInfo.WindowStyle = ProcessWindowStyle.Hidden;
                startInfo.Arguments = $"{msgPath} {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);
        }
    }
Some more infromation about Azure.

Convert Excel Files On Web Servers With Total Excel ConverterX

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
Example2 ASP: directly stream the resulting PDF
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

Convert Excel Spreadsheets by PHP With Total Excel ConverterX

$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 "fail:".$c->ErrorMessage;

Convert Excel Spreadsheets By Ruby With Total Excel ConverterX

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

Convert Excel Spreadsheets by Python With Total Excel ConverterX

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)

Convert Excel files With Pascal and Total Excel ConverterX

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;

Convert Excel and ODS Files On Web Servers With Total Excel ConverterX

var c = new ActiveXObject("ExcelConverter.ExcelConverterX");
c.Convert("C:\\test\\source.xlsx", "C:\\test\\dest.pdf", "-c PDF");
if (c.ErrorMessage!="")
  alert(c.ErrorMessage)

Convert Excel Spreadsheets by Perl With Total Excel ConverterX

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;

Support
Total Excel Converter X Preview1

Latest News

Newsletter Subscribe

No worries, we don't spam.


© 2026. All rights reserved. CoolUtils File Converters

Cards