Vous avez des dossiers de fichiers XLS et XLSX qui doivent alimenter une base de données, un pipeline d'analyse ou un tableau de bord de reporting — et le système cible parle CSV, pas Excel. Ouvrir chaque classeur dans Excel et cliquer sur Enregistrer sous → CSV ne passe pas l'échelle au-delà de deux ou trois fichiers, et cela échoue complètement sur un serveur sans installation Excel. Total Excel Converter X convertit les fichiers Excel en CSV depuis la ligne de commande, en lot, sans interface graphique et sans Microsoft Office sur la machine. 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-CSVDelimiter, correspondant à ce que votre importateur attend-EachSheetSeparate
(30 jours, sans e-mail)
(licence serveur, perpétuelle)
Windows 7/8/10/11 • Server 2008/2012/2016/2019/2022
Excel (XLS, XLSX) sont des formats conteneurs. Un classeur contient plusieurs feuilles, formules, mise en forme, graphiques, tableaux croisés dynamiques, règles conditionnelles et objets intégrés. XLS est un format binaire propriétaire des années 1990 ; XLSX est une archive ZIP de parties XML. Les deux nécessitent un parser qui comprend le schéma Office. La plupart des bases de données et outils d'analyse ne peuvent lire ni l'un ni l'autre directement.
CSV est du texte brut — une ligne par enregistrement, champs séparés par un délimiteur. Tout moteur de base de données, tout langage de script, tout outil BI et toute plateforme ETL lit le CSV sans traduction. PostgreSQL COPY, MySQL LOAD DATA INFILE, BigQuery bq load, pandas read_csv, R read.csv — tous attendent du CSV. Lorsque les données Excel doivent entrer dans ce pipeline, elles doivent d'abord devenir du CSV.
| Excel (XLS / XLSX) | CSV | |
|---|---|---|
| Format | Binaire propriétaire ou ZIP-XML | Texte brut |
| Feuilles par fichier | Multiples | Une seule table |
| Formules | Stockées et recalculées | Valeurs évaluées uniquement |
| Mise en forme | Polices, couleurs, bordures, graphiques | Aucune |
| Import en base de données | Nécessite ODBC ou bibliothèque | Natif dans tout moteur |
| Public | Utilisateurs Office | Bases de données, scripts, outils ETL |
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 Excel ou Office n'est requise — le convertisseur analyse XLS et XLSX directement avec son propre moteur.
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 CSV :
XLSConverter.exe C:\Reports\*.xlsx C:\Output\ -c CSV
Cela traite chaque fichier .xlsx dans C:\Reports\ et enregistre les fichiers CSV résultants dans C:\Output\. Chaque fichier Excel produit un CSV avec le même nom de base. Utilisez *.xls pour convertir les fichiers binaires anciens, ou *.xls* pour capturer les deux extensions en une passe.
Les défauts CSV doivent souvent être ajustés pour correspondre au système cible. Les vrais importateurs sont pointilleux sur les séparateurs et les pages de codes :
XLSConverter.exe C:\Reports\*.xlsx C:\Output\ -c CSV -CSVDelimiter ";" -CSVQuotation "\"" -Encoding UTF-8 -log C:\Logs\xls2csv.log
-CSVDelimiter "," — virgule (par défaut). Utilisez ";" pour les locales européennes, "\t" pour séparé par tabulation ou "|" pour barre verticale-CSVQuotation "\"" — entourer les champs contenant le délimiteur, les guillemets ou les sauts de ligne avec des guillemets doubles-Encoding UTF-8 — forcer la sortie UTF-8. Utilisez UTF-16, Windows-1251, Windows-1252 ou ISO-8859-1 selon les exigences du système cible-EachSheetSeparate — séparer un classeur multi-feuilles en un CSV par feuille, nommé {file}_{sheet}.csv-log C:\Logs\xls2csv.log — écrire un journal de conversion pour vérificationEnregistrez 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\CSV\ -c CSV -CSVDelimiter ";" -Encoding UTF-8 -EachSheetSeparate -log C:\Logs\xls2csv.log
Cela exécute la conversion chaque nuit (ou à l'intervalle que vous définissez) et écrit un fichier journal pour que vous puissiez vérifier les résultats. Déposez de nouveaux fichiers XLSX dans C:\Incoming\ et la prochaine exécution planifiée les récupère.
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 CSV dans votre propre tâche ETL, formulaire de téléchargement web ou service de reporting sans passer par un processus en ligne de commande.
Exemple (C#/.NET) :
XLSConverterX Cnv = new XLSConverterX();
Cnv.Convert("C:\\Reports\\sales.xlsx", "C:\\Output\\sales.csv", "-c CSV -CSVDelimiter \";\" -Encoding UTF-8 -log c:\\Logs\\xls.log");
Exemple (PHP) :
$c = new COM("XLSConverter.XLSConverterX");
$c->convert("C:\\Reports\\sales.xlsx", "C:\\Output\\sales.csv", "-c CSV -CSVDelimiter \";\" -Encoding UTF-8 -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 et renvoyer du CSV prêt pour ingestion directe dans une base de données ou un outil d'analyse.
| Fonctionnalité | Convertisseurs en ligne | Total Excel Converter X |
|---|---|---|
| Traitement par lots | Un fichier à la fois | Fichiers illimités par lot |
| Confidentialité des fichiers | Fichiers envoyés sur un serveur tiers | Les fichiers ne quittent jamais votre machine |
| Limite de taille de fichier | Généralement 5–25 Mo | Aucune — classeurs gigaoctets pris en charge |
| Contrôle délimiteur / encodage | Rare ou caché | Contrôle complet via indicateurs |
| Gestion multi-feuilles | Généralement première feuille uniquement | -EachSheetSeparate ou fusionné |
| 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 |
| Nécessite Internet | Oui | Non |
COPY sales FROM '/data/sales.csv' CSV HEADER dans Postgres ou LOAD DATA INFILE dans MySQL. Tout le pipeline s'exécute en quelques secondes pour des fichiers qui prendraient des minutes via un importateur graphique.bq load ou COPY INTO. Une tâche .bat nocturne convertit les rapports Excel du jour en CSV et les télécharge vers un bucket de staging que l'entrepôt récupère.read_csv et R read.csv. Lorsque les données source arrivent en XLSX depuis la finance ou les opérations, un convertisseur côté serveur produit du CSV propre sans que personne ne touche à Excel.-CSVDelimiter et -Encoding définis pour correspondre aux spécifications de l'agence.Le convertisseur analyse les fichiers XLS et XLSX directement. Vous n'avez pas besoin de Microsoft Office, LibreOffice ou de toute autre application de feuille de calcul installée sur le serveur. Cela évite les coûts de licence et l'instabilité bien connue de l'automatisation d'Excel dans des scénarios sans surveillance.
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 serveur de production a besoin.
Les vrais importateurs CSV se soucient des détails. Un délimiteur point-virgule pour les systèmes européens, UTF-8 pour le texte international, encadrement par guillemets doubles pour les champs contenant des virgules intégrées. Un classeur Excel avec douze feuilles mensuelles est un seul fichier, mais le CSV contient une table par fichier — -EachSheetSeparate sépare le classeur en douze fichiers CSV nommés, chacun prêt pour une ingestion séparée. Chaque détail est exposé comme indicateur de ligne de commande, pour que la sortie corresponde à ce que votre pipeline en aval attend dès le premier essai.
Le même outil en ligne de commande convertit Excel en PDF, DOC, HTML, XML, JSON, ODS, TIFF, JPEG et bien d'autres formats. Une seule installation couvre toutes les cibles de conversion Excel. Changez -c CSV en -c PDF et vous obtenez des rapports PDF 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
"Notre pipeline ingère plus de 200 fichiers XLSX par jour de la part des responsables de magasins régionaux et les charge dans Postgres via COPY. Nous avons remplacé un script Python-plus-openpyxl fragile par XLSConverter.exe dans une tâche .bat. Les indicateurs point-virgule et UTF-8 ont résolu nos problèmes de caractères allemands et polonais dès la première exécution. Le débit est passé de quarante minutes à moins de cinq pour le même lot nocturne."
Priya Raghavan Data Engineer, Retail Analytics
"Nous alimentons des classeurs Excel mensuels dans BigQuery pour le tableau de bord exécutif. L'indicateur -EachSheetSeparate était la pièce manquante — un CSV par feuille se mappe proprement à une table de staging par ligne de métier. Plus d'exports manuels feuille par feuille depuis Excel. L'interface COM permet au même outil de servir notre portail de téléchargement interne."
Daniel Kowalski BI Analyst, Insurance Group
"J'ai intégré XLSConverter via la classe ActiveX dans un service .NET qui traite les rapports de courtage. L'évaluation des formules fonctionne correctement même sur les classeurs plus volumineux avec des références croisées entre feuilles. L'indicateur d'encodage gère proprement notre entrée italienne et française. La documentation sur certains des indicateurs plus rares pourrait être plus détaillée, mais le support a répondu à mes questions en moins d'un jour ouvrable."
Sofia Marchetti ETL Developer, FinTech Platform
XLSConverter.exe C:\Reports\*.xlsx C:\Output\ -c CSV. Cela convertit chaque fichier XLSX du dossier source en CSV. Ajoutez des indicateurs comme -CSVDelimiter ";", -Encoding UTF-8 ou -EachSheetSeparate pour contrôler la sortie.-CSVDelimiter. Passez "," pour la virgule (par défaut), ";" pour le point-virgule (commun dans les locales européennes), "\t" pour la tabulation ou "|" pour la barre verticale. Entourez la valeur de guillemets doubles en ligne de commande.-Encoding UTF-8 à la commande. Les autres pages de codes prises en charge incluent UTF-16, Windows-1251, Windows-1252, ISO-8859-1 et bien d'autres. Définissez l'encodage pour correspondre à ce que votre base de données ou importateur attend pour que les caractères non-ASCII survivent intacts.-EachSheetSeparate et le convertisseur produit un CSV par feuille, nommé {file}_{sheet}.csv. Utilisez ce mode chaque fois que vous chargez chaque feuille dans une table de base de données différente.
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.