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 :
|
|
|
(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
Developers and IT teams that convert Excel files to PDF, DOC, CSV, and more on servers
Add Excel-to-PDF conversion to your web app via ActiveX
Web developers integrate Total Excel ConverterX into ASP, PHP, or .NET applications so users can upload Excel files and receive converted PDF, HTML, or CSV output instantly. The converter runs silently on the server with no GUI, supporting multiple simultaneous users without interruption.
Auto-convert Excel exports from business systems
Enterprise IT teams schedule Total Excel ConverterX to process nightly XLS and XLSX exports from ERP, CRM, and BI platforms. Convert financial reports to protected PDF, extract data to CSV for databases, or transform spreadsheets to HTML for internal dashboards — all unattended via command line.
Auto-convert new Excel files as they arrive in folders
Paired with Total Folder Monitor, Total Excel ConverterX watches designated folders and automatically converts new XLS files as they appear. Incoming spreadsheets from partner uploads, FTP drops, or automated exports are converted to the required format and routed to the right destination hands-free.
Serve Excel conversion to all users on your local network
Organizations deploy Total Excel ConverterX as a shared service on the company network. Employees from finance, sales, and operations submit Excel files for conversion to PDF, DOC, or CSV through a centralized server — no need to install desktop converters on every workstation.
Embed spreadsheet conversion into your own software
Software vendors embed Total Excel ConverterX into their products to add Excel export capabilities. The ActiveX interface provides conversion functions through simple API calls — convert XLS, XLSX, ODS, and DBF files to PDF, HTML, CSV, SQL, LaTeX, and 15+ other formats from within any COM-compatible application.
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.Téléchargez la version d'essai gratuite et convertissez vos fichiers en quelques minutes.
Aucune carte de crédit ou email requis.