CSV en DOC, PDF, HTML, TXT, XLS, DBF, XML ou formats OpenOffice via ligne de commande
Windows
2000/2003/Vista
7/8/10/11
and
2012/2016/2019/2022 Server
and
Docker/Citrix/Wine
Total CSV ConverterX fonctionne comme application client-serveur autonome ou comme service web. Moteur multithreadé traite de grands volumes à vitesse maximale. Compatible avec IIS, Docker, Citrix et Wine.
Téléchargez la version d'essai gratuite de 30 jours avec toutes les fonctionnalités. Vous cherchez la version bureau ? Voir Total CSV Converter. Plus de produits sur CoolUtils Server Products.
(inclut un essai GRATUIT de 30 jours)
(seulement $850.00)
string src = @"C:\test\Source.csv";
string dest = @"C:\test\Dest.xlsx";
var cnv = new CSVConverterX();
cnv.Convert(src, dest, "-cXLSX -log c:\\test\\CSV.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\CSVConverterX.exe";
sbLogs.AppendLine(executablePath + "...");
var srcPath = $@"{assemblyDirectoryPath}\src\sample.csv";
var outPath = Path.GetTempFileName() + ".xlsx";
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}\" -cXLSX";
using (Process exeProcess = Process.Start(startInfo))
{
sbLogs.AppendLine($"wait...{DateTime.Now.ToString()}");
exeProcess.WaitForExit();
sbLogs.AppendLine($"complete...{DateTime.Now.ToString()}");
}
sbLogs.AppendLine("Conversion complete.");
}
catch (Exception ex)
{
sbLogs.AppendLine(ex.ToString());
}
return new OkObjectResult(sbLogs);
}
}
dim C
Set C=CreateObject("CSVConverter.CSVConverterX")
C.Convert "c:\test\source.csv", "c:\test\dest.xlsx", "-cXLSX -log c:\test\CSV.log"
Response.Write C.ErrorMessage
set C = nothing
dim C
Set C=CreateObject("CSVConverter.CSVConverterX")
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.csv", "C:\www\ASP", "-cpdf -log c:\html.log")
set C = nothing
$src="C:\\test\\test.csv";
$dest="C:\\test\\test.xlsx";
if (file_exists($dest)) unlink($dest);
$c= new COM("CSVConverter.CSVConverterX");
$c->convert($src,$dest, "-cXLSX -log c:\\test\\CSV.log");
if (file_exists($dest)) echo "OK"; else echo "fail:".$c->ErrorMessage;
require 'win32ole'
c = WIN32OLE.new('CSVConverter.CSVConverterX')
src = "C:\\test\\test.csv"
dest = "C:\\test\\test.xlsx"
c.convert(src, dest, "-cXLSX -log c:\\test\\CSV.log")
if not File.exist?(dest)
puts c.ErrorMessage
end
import win32com.client
import os.path
c = win32com.client.Dispatch("CSVConverter.CSVConverterX")
src = "C:\\test\\test.csv"
dest = "C:\\test\\test.xlsx"
c.convert(src, dest, "-cXLSX -log c:\\test\\CSV.log")
if not os.path.exists(dest):
print(c.ErrorMessage)
uses Dialogs, Vcl.OleAuto;
var
c: OleVariant;
begin
c := CreateOleObject('CSVConverter.CSVConverterX');
c.Convert('c:\test\source.csv', 'c:\test\dest.xlsx', '-cXLSX -log c:\test\CSV.log');
if c.ErrorMessage <> '' then
ShowMessage(c.ErrorMessage);
end;
var c = new ActiveXObject("CSVConverter.CSVConverterX");
c.Convert("C:\\test\\source.csv", "C:\\test\\dest.xlsx", "-cXLSX");
if (c.ErrorMessage != "")
alert(c.ErrorMessage)
use Win32::OLE; my $src = "C:\\test\\test.csv"; my $dest = "C:\\test\\test.xlsx"; my $c = CreateObject Win32::OLE 'CSVConverter.CSVConverterX'; $c->convert($src, $dest, "-cXLSX -log c:\\test\\CSV.log"); print $c->ErrorMessage if -e $dest;
« Je convertis un fichier CSV en XLS depuis la ligne de commande Windows. J'étais prêt à installer Office, mais Total CSV Converter X a fait le travail sans lui. Un bon logiciel, merci ! »
Ron Duggs
Consumer Settlements
« Nous avions besoin d'extraire plusieurs fichiers CSV depuis différentes feuilles de calcul. Nous avons essayé plusieurs convertisseurs, mais seul celui-ci a fonctionné correctement. Merci ! »
Gilbert L.
Independent Developer
« Nos clients téléversent chaque nuit des CSV de transactions dans différents dialectes : virgules pour les États-Unis, points-virgules pour l'Europe, tabulations pour un mainframe historique. Total CSV Converter X normalise tout en XLSX selon notre schéma de reporting avant que les données n'atteignent l'entrepôt analytique. Le wrapper .NET s'intègre à notre pipeline existant, le débit est d'environ 300 fichiers par minute sur notre matériel, et la CLI reste déterministe d'une exécution à l'autre. »
Marek S.
Senior Backend Developer at a fintech
« Nous avons remplacé un pipeline Excel-Interop qui exigeait Office sur chaque VM de conversion. Désormais, ces VM n'exécutent plus que CSVConverterX.exe derrière une file d'attente. -Recurse -kfs préserve la hiérarchie des dossiers partenaires en sortie, et -separator avec un caractère personnalisé couvre tous les formats d'envoi atypiques que nous recevons. Headless sur Windows Server Core, sans Office, sans surprise, après quatre ans de production. »
Aoife K.
DevOps Engineer at a logistics SaaS
« Nous avons intégré Total CSV Converter X dans notre produit de migration de données sous la Royalty-Free License. Le forfait unique par projet ne représentait qu'une fraction de ce que demandait Aspose.Cells avec son abonnement par développeur. Notre installateur livre et enregistre l'ActiveX, notre application l'appelle directement, et l'utilisateur final ne voit que notre interface. La limitation 32 bits de l'ActiveX nous a coûté quelques jours de refonte du pipeline, mais le support a été réactif quand nous avons demandé des solutions de contournement. »
Tomasz B.
Independent Software Vendor
Development teams that need server-side CSV conversion via ActiveX or command line
Power web-based CSV-to-PDF and CSV-to-Excel tools
Web developers integrate Total CSV ConverterX via ActiveX into ASP or PHP applications to offer CSV conversion as an online service. Users upload CSV files through a browser, the server converts them to PDF, XLS, or HTML on the fly, and delivers the result — all without any desktop software or pop-up windows.
Convert CSV data dumps from ERP systems automatically
Enterprise IT teams deploy Total CSV ConverterX on servers to process CSV exports from SAP, Oracle, and other ERP systems. Scheduled tasks convert nightly data dumps to Excel for finance teams, XML for partner integrations, or DBF for legacy systems — preserving folder structure and handling custom delimiters automatically.
Transform CSV feeds into JSON, XML, or database formats
Data engineering teams use the command line interface to build conversion steps into ETL pipelines. CSV files from APIs, IoT sensors, or log systems are converted to JSON for web services, XML for data warehouses, or SQL-ready formats for direct database import — with full control over data types, separators, and row filtering.
Serve converted reports to multiple users on a network
Total CSV ConverterX runs as a client-server application on a local network, allowing multiple users to request CSV conversions simultaneously. Finance, sales, and operations teams each get their data exports converted to the format they need — PDF for management, XLS for analysts, HTML for dashboards — from a single server installation.
Convert transactional CSV logs to archival PDF and DOC
Regulated industries convert transactional CSV logs and audit trails into PDF or DOC for long-term archival storage. Total CSV ConverterX processes large volumes of files silently on the server with no GUI interruptions, making it ideal for unattended overnight jobs and compliance-driven retention workflows.
Total CSV ConverterX est livré avec CSVConverterX.exe, un binaire console que vous pouvez piloter depuis des scripts, des tâches planifiées, des pipelines ETL ou tout service backend qui doit transformer des données CSV et TSV en un autre format. Le jeu d'options correspond à l'interface graphique CSVConverter.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. Utile pour le reporting ad hoc lorsqu'un PDF propre et paginé doit atterrir dans la boîte de réception de quelqu'un.
CSVConverterX.exe "C:\reports\sales.csv" "C:\out\sales.pdf" -cPDF
Traitez chaque CSV dans un dossier et écrivez les fichiers XLS correspondants dans un répertoire de sortie frère. Le caractère générique *.csv capte tout au niveau supérieur du chemin source.
CSVConverterX.exe "C:\reports\*.csv" "C:\out\" -cXLS
Échangez -cXLS pour -cODS pour cibler OpenOffice Calc, ou -cDBF pour alimenter une base de données héritée.
Les exports de reporting arrivent souvent comme une arborescence datée : un dossier par région, un sous-dossier par jour. -Recurse parcourt les sous-répertoires ; -kfs recrée la même arborescence côté sortie au lieu d'aplatir tout dans un seul seau.
CSVConverterX.exe "C:\reports\2026\*.csv" "C:\out\2026\" -cPDF -Recurse -kfs
Les exports Excel en allemand, français et autres locales utilisent des points-virgules au lieu de virgules car la virgule est le séparateur décimal. -comma définit le délimiteur de champ pour le fichier d'entrée indépendamment du nom de l'option.
CSVConverterX.exe "C:\reports\de\*.csv" "C:\out\" -cXLS -comma ";"
Les fichiers TSV, les exports de clients SQL et les vidages de journaux utilisent fréquemment une tabulation ou un tube comme séparateur de champ. Passez le caractère littéral à -comma — pour une tabulation, utilisez \t.
CSVConverterX.exe "C:\data\*.tsv" "C:\out\" -cXLS -comma "\t"
CSVConverterX.exe "C:\data\*.csv" "C:\out\" -cXLS -comma "|"
De nombreux exports CSV du monde réel commencent par quelques lignes de métadonnées (titre du rapport, date, indication de séparateur) avant que la véritable table commence. -skip supprime ces lignes de préambule ; -fh indique au convertisseur que la ligne suivante est l'en-tête, donc les noms de colonnes se propagent dans la sortie.
CSVConverterX.exe "C:\reports\*.csv" "C:\out\" -cXLS -skip 3 -fh
Certains pipelines enveloppent les champs texte dans des guillemets simples ou des accents graves au lieu du guillemet double standard. -quote définit le caractère que l'analyseur traite comme délimiteur de chaîne en entrée.
CSVConverterX.exe "C:\exports\*.csv" "C:\out\" -cXML -quote "'"
XML est toujours la lingua franca pour de nombreuses intégrations B2B et imports ERP. Le convertisseur écrit un élément XML par ligne CSV, en utilisant les noms d'en-têtes comme balises lorsque -fh est défini.
CSVConverterX.exe "C:\reports\orders.csv" "C:\out\orders.xml" -cXML -fh
Lorsqu'un worker écrit un fichier de file d'attente et que le convertisseur le consomme, vous ne voulez pas encoder chaque chemin sur la ligne de commande. -list lit les masques de fichiers (un par ligne) depuis un fichier texte — idéal pour les lots nocturnes assemblés par un autre script.
CSVConverterX.exe -list "C:\queues\nightly.txt" "C:\out\" -cPDF
Une fois que CSVConverterX.exe tourne en service ou tâche planifiée, le seul moyen de savoir ce qui s'est passé est le journal. -verbosity detail écrit une ligne par fichier au lieu des erreurs uniquement ; -log redirige tous les messages vers un fichier pour que la console reste silencieuse.
CSVConverterX.exe "C:\reports\*.csv" "C:\out\" -cXLS -log "C:\logs\csvconv.log" -verbosity detail
Ajoutez -do si les fichiers source doivent être supprimés après une conversion réussie — pratique pour les flux de dossiers de spool où la file d'attente se vide à mesure qu'elle s'écoule.
Mis à jour Fri, 01 May 2026
(seulement $850.00)
Téléchargez la version d'essai gratuite et convertissez vos fichiers en quelques minutes.
Aucune carte de crédit ou email requis.