Convertir des feuilles de calcul XLS, XLSX, ODS, XML en lot via des serveurs web.
Windows
2000/2003/Vista
7/8/10/11
and
2012/2016/2019/2022 Server
and
Docker/Citrix/Wine
Total Excel Converter X est un SDK serveur qui convertit les feuilles de calcul XLSX, XLS, XLSM, ODS, CSV et XML vers PDF, JSON, XML, HTML, DBF, SQL et plus de 15 autres formats — sans Microsoft Excel ni aucun runtime Office installé sur le serveur. Il fonctionne en mode headless : pas d'interface graphique, pas de boîtes de dialogue, pas de fenêtres contextuelles. Total Excel Converter X est livré à la fois avec un binaire en ligne de commande et une interface ActiveX/COM, ce qui lui permet de s'intégrer à ASP, PHP, .NET, Python, Ruby, Java et tout autre backend compatible COM. La liste complète des formats sources pris en charge :
-list) pour des exécutions sans surveillance.Le programme lit les classeurs directement — sans automatisation Excel, sans dépendance au SDK Open XML, sans instance Office headless à surveiller.
Une vitesse de conversion élevée et le traitement par lots rendent le processus simple et sans ennui. Essayez-le gratuitement (période d'essai de 30 jours, sans limitations) et constatez qu'il vaut vraiment son prix.
Quelques conversions de formats actuellement prises en charge :
|
|
|
Les agents LLM (Claude, ChatGPT, Cursor, Cline) et les pipelines de recherche (LangChain, LlamaIndex, Haystack) ne lisent pas le XLSX. Ils lisent du texte. Total Excel Converter X ecrit les tableurs au format GitHub-Flavored Markdown avec un frontmatter structure et un sidecar optionnel compatible Docling, de sorte que le classeur atterrit dans votre vector store avec sa hierarchie, ses en-tetes, ses formules et ses unites intacts — et non comme une chaine plate ou les cellules fusionnees sont perdues.
Ce que vous obtenez en visant la sortie Markdown :
source_file, format (MIME), generator, created, nombre de feuilles, nombre de lignes/colonnes, langues detectees, binary hash pour la tracabilite
# / ## / ###, de sorte que les splitters RAG coupent aux frontieres semantiques au lieu de couper au milieu d'un tableau
.docling.json optionnel — colonnes typees avec unites (EUR, pcs, kWh, %), formules normalisees (=qty*unit_price) aux cotes des coordonnees d'origine (of:=[.C5]*[.D5]) et chunks_hint pour le splitter
UnstructuredMarkdownLoader / MarkdownReader le prennent en charge
C'est ce que nous appelons le CoolUtils RAG Adapter — un contrat Markdown unifie partage par tous les produits Total Converter X. La specification complete, des exemples .md + .docling.json et des extraits d'integration sont disponibles sur la page Coolutils Converter X — RAG Adapter.
(inclut un essai GRATUIT de 30 jours)
(seulement $550.00)
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;
"Nous avons remplacé un script d'automatisation COM Excel-Interop par Total Excel Converter X il y a deux ans. Le pipeline Interop fuyait des handles, plantait des app pools et exigeait une installation Office complète sur chaque VM de conversion. Aujourd'hui, ces VM n'exécutent plus rien d'autre que ExcelConverterX.exe derrière une file d'attente. La latence de conversion est passée d'environ 12 secondes par classeur à 1,5 seconde, et la ligne budgétaire de licence Office a disparu. L'intégration .NET avec notre worker a pris une demi-journée."
Mateusz K.
Senior Backend Developer at a fintech
"Nos clients téléversent des feuilles de paie dans toutes les variantes possibles : modèles fournisseurs en XLS, XLSX modernes avec macros, et parfois ODS provenant d'utilisateurs LibreOffice. Total Excel Converter X normalise tout en un profil PDF d'archivage unique avec chiffrement AES-256 et appose les indicateurs d'autorisation individuels dont nous avons besoin pour la conformité. Le fichier de file d'attente -list combiné aux logs détaillés -verbosity alimente directement notre agrégateur de logs. Headless sur Windows Server Core, pas d'Office, pas de surprises."
Sofia L.
DevOps Engineer at a payroll SaaS
"Nous proposons XLSX-to-JSON comme service à nos clients ETL. Total Excel Converter X est le moteur derrière ce endpoint. -FirstRowIsHeader et la sortie JSON directe signifient que nous n'avons pas eu à écrire notre propre analyseur ni à maintenir une étape CSV-to-JSON séparée. Cinq ans de débit à des milliers de conversions par jour, sans aucun échec attribuable au convertisseur. La CLI est stable et la sortie est identique au bit près d'une exécution à l'autre."
Hamid Y.
CTO at an ETL platform vendor
"Nous avons intégré Total Excel Converter X à notre produit de reporting sous la licence Royalty-Free. Le tarif unique par projet représentait une fraction de ce que demandait Aspose-Cells avec son abonnement par développeur. Notre installeur livre et enregistre l'ActiveX, notre application l'appelle directement, et les utilisateurs finaux ne voient que notre interface. La limitation 32 bits de l'ActiveX nous a coûté quelques jours de retravail du pipeline, mais le support a été réactif lorsque nous avons demandé des solutions de contournement."
Britt N.
Independent Software Vendor
"Les courtiers téléversent des exports de listings en XLSX avec des photos intégrées et des cellules fusionnées, et nous avons besoin de PDF propres pour le portail public. Total Excel Converter X gère les particularités de rendu (cellules fusionnées, volets figés, plages nommées) mieux que les bibliothèques open source que nous avons évaluées. Combiner dix classeurs en un seul PDF mensuel avec -combine -sort name est une fonctionnalité que nous utilisons à chaque cycle de release."
Daichi T.
Lead .NET Developer at a real-estate platform
Développeurs et équipes informatiques qui convertissent des fichiers Excel en PDF, DOC, CSV et plus sur des serveurs
Ajoutez la conversion Excel vers PDF à votre application web via ActiveX
Les développeurs web intègrent Total Excel ConverterX dans des applications ASP, PHP ou .NET pour que les utilisateurs puissent télécharger des fichiers Excel et recevoir instantanément une sortie convertie en PDF, HTML ou CSV. Le convertisseur s'exécute silencieusement sur le serveur sans interface graphique, prenant en charge plusieurs utilisateurs simultanés sans interruption.
Convertissez automatiquement les exports Excel des systèmes métier
Les équipes informatiques d'entreprise planifient Total Excel ConverterX pour traiter les exports nocturnes XLS et XLSX des plateformes ERP, CRM et BI. Convertissez les rapports financiers en PDF protégé, extrayez des données en CSV pour les bases de données, ou transformez des tableurs en HTML pour les tableaux de bord internes — le tout sans surveillance via la ligne de commande.
Convertissez automatiquement les nouveaux fichiers Excel à leur arrivée dans les dossiers
Associé à Total Folder Monitor, Total Excel ConverterX surveille les dossiers désignés et convertit automatiquement les nouveaux fichiers XLS à leur apparition. Les tableurs entrants provenant de téléchargements partenaires, dépôts FTP ou exports automatisés sont convertis dans le format requis et acheminés vers la bonne destination sans intervention.
Offrez la conversion Excel à tous les utilisateurs de votre réseau local
Les organisations déploient Total Excel ConverterX comme service partagé sur le réseau d'entreprise. Les employés de la finance, des ventes et des opérations soumettent des fichiers Excel pour conversion en PDF, DOC ou CSV via un serveur centralisé — sans avoir besoin d'installer des convertisseurs de bureau sur chaque poste de travail.
Intégrez la conversion de tableurs dans votre propre logiciel
Les éditeurs de logiciels intègrent Total Excel ConverterX dans leurs produits pour ajouter des capacités d'export Excel. L'interface ActiveX fournit des fonctions de conversion via de simples appels API — convertissez des fichiers XLS, XLSX, ODS et DBF en PDF, HTML, CSV, SQL, LaTeX et plus de 15 autres formats depuis n'importe quelle application compatible COM.
Total Excel ConverterX est livré avec ExcelConverterX.exe, un binaire console que vous pouvez piloter depuis des scripts, des tâches planifiées, des runners CI ou tout service backend. Le jeu d'options correspond à l'interface graphique ExcelConverter.exe ; pour la référence complète, consultez la documentation en ligne de commande. Les recettes ci-dessous couvrent les cas dont nos clients SDK nous parlent le plus souvent.
L'appel le plus simple possible — un fichier source, une sortie, un format cible.
ExcelConverterX.exe "C:\reports\Q4-financials.xlsx" "C:\out\Q4-financials.pdf" -cPDF
Traitez chaque classeur dans un dossier et déposez les PDF dans un répertoire de sortie frère. Échangez le masque pour *.xls, *.ods ou *.csv pour choisir un format source différent.
ExcelConverterX.exe "C:\reports\*.xlsx" "C:\out\" -cPDF
La plupart des pipelines de données ont besoin de CSV, mais rarement avec une simple virgule. Utilisez -td pour choisir parmi les délimiteurs standard (Tab, Space, Semicolon, Comma) ou -td Other -tdo pour définir autre chose — ici un caractère tube.
ExcelConverterX.exe "C:\reports\*.xlsx" "C:\out\" -cCSV -td Other -tdo "|" -FirstRowIsHeader -UseQuote
-FirstRowIsHeader indique au convertisseur de traiter la ligne 1 comme noms de colonnes ; -UseQuote enveloppe les champs texte dans des guillemets pour que les délimiteurs imbriqués ne cassent pas l'analyse.
Pour alimenter les données du classeur dans un point de terminaison REST ou un job ETL, rendez directement vers un format structuré au lieu de passer par CSV.
ExcelConverterX.exe "C:\reports\*.xlsx" "C:\out\" -cJSON -FirstRowIsHeader
ExcelConverterX.exe "C:\reports\*.xlsx" "C:\out\" -cXML -FirstRowIsHeader
De nombreux outils comptables et ERP consomment encore des tables DBF. Le convertisseur écrit des fichiers dBase valides directement à partir d'un classeur.
ExcelConverterX.exe "C:\reports\customers.xlsx" "C:\out\customers.dbf" -cDBF -FirstRowIsHeader
Par défaut, chaque feuille visible devient son propre fichier de sortie. -sheets ne sélectionne que les feuilles que vous nommez ; -cs les combine en un seul document ; -ExportAll inclut les feuilles masquées.
ExcelConverterX.exe "C:\reports\workbook.xlsx" "C:\out\summary.pdf" -cPDF -sheets "Summary;Q4;Forecast" -cs
Le reporting de fin de mois signifie souvent assembler dix ou vingt classeurs en un seul livrable. -combine les fusionne en un seul PDF dans l'ordre des fichiers source ; -sort name contrôle cet ordre.
ExcelConverterX.exe "C:\reports\monthly\*.xlsx" "C:\out\monthly-pack.pdf" -cPDF -combine -sort name
Lorsque les classeurs vivent dans des dossiers clients imbriqués, -Recurse parcourt les sous-répertoires et -kfs recrée la même arborescence côté sortie au lieu d'aplatir tout dans un seul seau.
ExcelConverterX.exe "C:\clients\*.xlsx" "C:\out\clients\" -cPDF -Recurse -kfs
Standard pour l'envoi de finances à des destinataires externes : un mot de passe propriétaire verrouille les autorisations d'édition/impression, un mot de passe utilisateur contrôle l'ouverture du fichier, et le chiffrement AES-256 le maintient solide.
ExcelConverterX.exe "C:\reports\*.xlsx" "C:\out\" -cPDF -mp "owner-pwd" -up "user-pwd" -perm Print -EncryptStrength es256AES
Remplacez Print par toute combinaison de Copy, Modify, Annotation, FormFill, HighResPrint pour accorder exactement les droits que vous voulez. Ajoutez -Pass "wb-pwd" en amont si le classeur source lui-même est protégé par mot de passe.
Lorsqu'un worker écrit un fichier de file d'attente et que le convertisseur le consomme, vous ne voulez pas encoder les chemins de fichiers dans la ligne de commande elle-même. -list lit les masques de fichiers (un par ligne) depuis un fichier texte ; -verbosity detail écrit une ligne par fichier ; -logmode append conserve l'historique entre les exécutions.
ExcelConverterX.exe -list "C:\queues\batch.txt" "C:\out\" -cPDF -log "C:\logs\xlsxconv.log" -verbosity detail -logmode append
Mis à jour Fri, 01 May 2026
(seulement $550.00)
new COM("ExcelConverter.ExcelConverterX") en PHP, new ExcelConverterX() en .NET, win32com.client.Dispatch en Python, WIN32OLE.new en Ruby. Alternativement, le binaire en ligne de commande ExcelConverterX.exe peut être invoqué depuis n'importe quel processus, planificateur ou script shell. Le streaming PDF direct via ConvertToStream est également disponible pour les réponses web ASP/PHP.-mp "owner-pwd" pour le mot de passe propriétaire et -up "user-pwd" pour contrôler l'ouverture du fichier. L'indicateur -perm accepte n'importe quelle combinaison de Print, HighResPrint, Copy, Modify, Annotation, FormFill. La force du chiffrement est contrôlée par -EncryptStrength es256AES. Si le classeur source est lui-même protégé par mot de passe, passez -Pass "workbook-pwd" en amont pour que le convertisseur puisse l'ouvrir.-sheets "Summary;Q4;Forecast" pour sélectionner des feuilles nommées dans un classeur. Ajoutez -cs pour combiner les feuilles sélectionnées en un seul document de sortie, ou -ExportAll pour inclure également les feuilles masquées. Pour fusionner plusieurs classeurs en un seul PDF dans l'ordre des fichiers source, exécutez -combine -sort name sur un masque de dossier. -Recurse parcourt les sous-répertoires et -kfs reflète l'arborescence du dossier côté sortie au lieu de tout aplatir dans un seul emplacement..md comme format de sortie et le convertisseur écrit du GitHub-Flavored Markdown : chaque feuille devient une table GFM avec en-têtes multi-lignes, cellules fusionnées et libellés de colonnes bilingues préservés. Un bloc YAML frontmatter porte source_file, le format MIME, le nombre de feuilles, le nombre de lignes/colonnes, les langues détectées, le generator et un binary hash pour la traçabilité. La hiérarchie du classeur (classeur → feuilles → plages nommées → bandeaux d'en-tête) est mappée sur les titres Markdown # / ## / ### afin que les splitters RAG coupent aux frontières sémantiques plutôt qu'au milieu d'une table. Cela fait partie du CoolUtils RAG Adapter — le même contrat Markdown est partagé par tous les produits Total Converter X.=qty*unit_price) accompagnées des coordonnées de cellule d'origine (of:=[.C5]*[.D5]), les rectangles englobants par feuille, un binary_hash pour la traçabilité et un tableau chunks_hint que votre splitter peut lire. Activez-le avec -Docling en ligne de commande. Le JSON est indépendant du Markdown — vous pouvez alimenter votre index avec les deux, ou n'utiliser que le .md..md est du GFM standard avec un bloc YAML frontmatter, donc UnstructuredMarkdownLoader de LangChain, MarkdownReader de LlamaIndex, MarkdownToDocument de Haystack et les outils de fichier MCP de Claude Code le lisent directement. Pour Claude, ChatGPT ou n'importe quelle UI de chat, vous pouvez coller le Markdown dans le contexte tel quel — les tables s'affichent, les titres montrent la section d'origine d'un chunk, et le frontmatter donne au modèle le nom de fichier source et les indices de langue. Le sidecar .docling.json optionnel est consommé par les ingesters Docling-aware ou tout loader personnalisé qui souhaite des colonnes typées.ExcelConverterX.exe "C:\reports\Q4.xlsx" "C:\out\" -cMD -Docling. -cMD sélectionne la sortie Markdown ; -Docling écrit en plus le sidecar .docling.json. Ajoutez -sheets "Summary;Q4;Forecast" pour cibler, -Recurse pour parcourir les sous-répertoires ou -list "queue.txt" pour les pipelines sans surveillance. Depuis COM : obj.Convert("Q4.xlsx", "Q4.md", "-cMD -Docling"). Le Markdown résultant est prêt à être segmenté, embeddé et indexé dans n'importe quel vector store.Téléchargez la version d'essai gratuite et convertissez vos fichiers en quelques minutes.
Aucune carte de crédit ou email requis.