Vous avez des dossiers de classeurs Excel qui doivent vivre dans Microsoft Access — pour les requêtes SQL, les jointures entre tables, l'indexation ou alimenter une base de données de reporting. Ouvrir chaque XLSX dans Access et parcourir l'assistant d'import ne passe pas l'échelle au-delà de deux ou trois fichiers. Total Excel Converter X convertit les fichiers XLS et XLSX en DBF (le format dBase IV qu'Access importe nativement) depuis la ligne de commande, en lot, sans interface graphique et sans installation de Microsoft Office. Installez-le sur un serveur Windows, appelez-le depuis un script ou via ActiveX, et laissez-le fonctionner de manière autonome.
*.xlsx) et le convertisseur traite chaque fichier correspondant en une seule exécution
(30 jours, sans e-mail)
(licence serveur, perpétuelle)
Windows 7/8/10/11 • Server 2008/2012/2016/2019/2022
Excel est un tableur. Chaque feuille de calcul est une grille plate — lignes et colonnes, avec des formules et de la mise en forme superposées par-dessus. Excel gère jusqu'à 1 048 576 lignes par feuille, mais il n'a pas de jointures natives, pas de recherches indexées entre fichiers et pas de modèle de transaction partagé. Deux analystes éditant le même XLSX produisent deux copies divergentes. Faire un rapport sur des données qui vivent à travers trente classeurs signifie écrire des chaînes RECHERCHEV qui se cassent dès qu'une colonne se décale.
Access (et toute base de données qui consomme du DBF, y compris FoxPro, OpenOffice Base et la plupart des outils BI) est conçu pour les données relationnelles. Les tables ont des champs typés, des clés primaires et des index. Les requêtes utilisent SQL : jointures, agrégations, filtres, sous-requêtes. Une seule base Access peut contenir des dizaines de millions de lignes à travers plusieurs tables liées et les servir via des formulaires et des rapports. Lorsque les données Excel doivent piloter ce type d'analyse, elles doivent d'abord atterrir dans une table de base de données — et DBF est le format qu'Access importe sans friction de conversion.
| Excel | Access / DBF | |
|---|---|---|
| Structure | Grille plate par feuille | Champs typés, index, relations |
| Interrogation | Formules, RECHERCHEV | SQL avec jointures et agrégations |
| Échelle | 1 M lignes par feuille, lent au-delà de 100K | Dizaines de millions de lignes par table |
| Concurrence | Un éditeur à la fois | Multi-utilisateur avec verrouillage de ligne |
| Flux de travail | Analyse ad hoc | Reporting, ETL, pipelines BI |
Téléchargez l'installateur depuis le lien ci-dessus et lancez-le sur votre serveur ou poste de travail Windows. L'installation prend moins d'une minute. Aucune installation de Microsoft Office n'est requise — le convertisseur analyse XLS et XLSX directement avec son propre moteur, y compris les formules, dates, précision numérique et chaînes Unicode.
Ouvrez cmd.exe ou PowerShell. L'exécutable du convertisseur est XLSConverter.exe, situé dans le dossier d'installation (généralement C:\Program Files\CoolUtils\TotalExcelConverterX\). Ajoutez-le à votre PATH système ou utilisez le chemin complet dans vos commandes.
La commande la plus simple convertit tous les fichiers Excel d'un dossier en DBF :
XLSConverter.exe C:\Books\*.xlsx C:\Output\ -c DBF
Cela traite chaque fichier .xlsx dans C:\Books\ et enregistre les tables DBF résultantes dans C:\Output\. Chaque classeur produit un DBF avec le même nom de base, prêt à être glissé dans Access via Données externes → Fichier dBase.
Contrôlez comment les colonnes deviennent des champs DBF avec des indicateurs supplémentaires :
XLSConverter.exe C:\Books\*.xlsx C:\Output\ -c DBF -Sheet Sheet1 -FirstRowHeader 1 -log C:\Logs\xls2dbf.log
-Sheet Sheet1 — sélectionner une feuille de calcul spécifique par nom (ou utiliser un index)-FirstRowHeader 1 — traiter la ligne 1 comme noms de champs ; le convertisseur les nettoie en identifiants DBF valides-Range A1:G500 — restreindre la conversion à une plage de cellules spécifique-log C:\Logs\xls2dbf.log — écrire un journal de conversion listant chaque fichier d'entrée, fichier de sortie, nombre de lignes et tout avertissement de troncature de champEnregistrez votre commande dans un fichier .bat et planifiez-la avec le Planificateur de tâches 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
Exécutez-le chaque nuit, ou après qu'une équipe financière dépose son classeur quotidien dans le dossier entrant. Les fichiers DBF sont ensuite liés dans Access via ODBC ou importés comme tables natives, et le reste du pipeline de reporting s'exécute contre une vraie base de données au lieu d'un enchevêtrement de feuilles de calcul.
Total Excel Converter X inclut une interface ActiveX complète. Vous pouvez appeler le convertisseur depuis tout environnement compatible COM — .NET, VBScript, PHP, Python, Ruby ou ASP. Cela vous permet d'intégrer la conversion Excel vers DBF dans votre propre service ETL, portail intranet ou application d'ingestion de données sans passer par un processus en ligne de commande.
Exemple (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");
Exemple (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");
Le même appel fonctionne depuis ASP.NET, VBScript, Python, Ruby, Perl et JavaScript (Windows Script Host). Votre application peut accepter des fichiers XLSX téléchargés depuis un formulaire web, les convertir en DBF et lier le résultat dans Access ou le charger directement dans une table de staging SQL Server.
| Fonctionnalité | Convertisseurs en ligne | Total Excel Converter X |
|---|---|---|
| Traitement par lots | Un fichier à la fois | Fichiers illimités par lot |
| Confidentialité des fichiers | Classeurs envoyés sur un serveur tiers | Les fichiers ne quittent jamais votre machine |
| Détection des types de champs | Tout devient Caractère | Numérique, Date, Logique, Caractère infléchis |
| Sélection de feuille | Première feuille uniquement | Toute feuille par nom ou index |
| Limite de lignes | Souvent plafonnée à 10K-50K lignes | Aucun plafond artificiel |
| Automatisation | Manuelle uniquement | Ligne de commande, .bat, Planificateur de tâches, ActiveX |
| Déploiement serveur | Impossible | Conçu pour les serveurs, sans interface graphique |
| Nécessite Excel installé | N/A | Non |
Le convertisseur lit XLS et XLSX directement et écrit les tables DBF sans Microsoft Excel, LibreOffice ou toute autre application de feuille de calcul installée. Cela évite les licences Office par serveur et l'instabilité bien connue de l'automatisation d'Excel dans des scénarios sans surveillance.
Les nombres restent numériques, les dates restent des champs Date, les indicateurs vrai/faux deviennent Logiques, le texte devient Caractère avec une largeur appropriée. Access importe le résultat comme une table correctement typée que vous pouvez indexer, joindre et interroger immédiatement — sans étape de conversion post-import.
Total Excel Converter X est conçu pour un usage sans surveillance. Pas de fenêtres d'interface graphique, pas de boîtes de dialogue, pas de demandes de confirmation. Il fonctionne silencieusement depuis la ligne de commande ou dans le cadre d'un service — exactement ce dont un hôte ETL ou un serveur d'ingestion de données a besoin.
Le même outil en ligne de commande convertit Excel en CSV, JSON, XML, SQL, PDF, HTML, ODS et bien d'autres formats. Une seule installation couvre votre pipeline complet Excel-vers-base-de-données et Excel-vers-document. Changez -c DBF en -c SQL et vous obtenez un script d'instructions INSERT prêt à charger dans MySQL, PostgreSQL ou SQL Server avec les mêmes fonctionnalités de traitement par lots et d'automatisation.
(30 jours, sans e-mail ni carte bancaire)
(licence serveur, perpétuelle)
Windows 7/8/10/11 • Server 2008/2012/2016/2019/2022
XLSConverter.exe C:\Books\*.xlsx C:\Output\ -c DBF. Cela convertit chaque classeur Excel du dossier source en table DBF, qu'Access importe nativement via Données externes → Fichier dBase. Ajoutez -FirstRowHeader 1 pour utiliser la ligne 1 comme noms de champs et -Sheet pour sélectionner une feuille de calcul spécifique.-FirstRowHeader 1, la première ligne fournit les noms de champs, nettoyés en identifiants DBF valides (max 10 caractères, sans espaces).-Sheet NomDeFeuille pour convertir une feuille spécifique, ou exécutez le convertisseur une fois par feuille pour produire un DBF par feuille de calcul. Chaque DBF peut alors être importé comme table séparée dans Access, vous permettant de joindre à travers des feuilles qui vivaient précédemment dans un seul classeur.
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;
Téléchargez la version d'essai gratuite et convertissez vos fichiers en quelques minutes.
Aucune carte de crédit ou email requis.
