コマンドライン経由でCSVをDOC、PDF、HTML、TXT、XLS、DBF、XMLまたはOpenOfficeフォーマットに
Windows
2000/2003/Vista
7/8/10/11
and
2012/2016/2019/2022 Server
and
Docker/Citrix/Wine
Total CSV ConverterXはスタンドアロンのクライアントサーバーアプリケーションまたはWebサービスとして動作します。マルチスレッドエンジンが大量のデータを最高速度で処理。IIS、Docker、Citrix、Wineと互換性あり。
全機能搭載の30日間無料試用版をダウンロード。デスクトップ版をお探しですか?Total CSV Converterをご覧ください。その他の製品はCoolUtils Server Products。
(30日間の無料試用を含む)
(のみ $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;
「Windowsのコマンドラインで CSV ファイルを XLS に変換しています。Office をインストールしてもよかったのですが、Total CSV Converter X は Office なしでこの作業をこなしてくれました。素晴らしいソフトウェアです、ありがとうございます!」
Ron Duggs
Consumer Settlements
「複数のワークシートから CSV ファイルを抽出する必要がありました。いくつかのコンバーターを試しましたが、正常に動作したのはこれだけでした。ありがとうございます!」
Gilbert L.
Independent Developer
「顧客は毎晩、異なる方言のトランザクション CSV をアップロードしてきます。米国式のカンマ区切り、欧州式のセミコロン区切り、レガシーメインフレームのタブ区切りなどです。Total CSV Converter X は、分析ウェアハウスに到達する前にすべてを当社のレポートスキーマに合わせて XLSX に正規化します。.NET ラッパーは既存のパイプラインに組み込まれ、当社のハードウェアではスループットが毎分約 300 ファイル、CLI は実行ごとに決定論的に動作します。」
Marek S.
Senior Backend Developer at a fintech
「変換用 VM ごとに Office を必要としていた Excel-Interop パイプラインを置き換えました。今ではそれらの VM はキューの背後で CSVConverterX.exe だけを実行しています。-Recurse -kfs は出力側でパートナーフォルダー階層を保持し、-separator にカスタム文字を指定すれば、受信するあらゆる風変わりなアップロード形式に対応できます。Windows Server Core 上でヘッドレス、Office 不要、4 年間の本番運用で予期せぬ問題はありません。」
Aoife K.
DevOps Engineer at a logistics SaaS
「Royalty-Free License のもと、Total CSV Converter X を当社のデータ移行製品に組み込みました。プロジェクト単位の一回払い料金は、Aspose.Cells が開発者単位サブスクリプションで要求していた金額のごく一部でした。当社のインストーラーが ActiveX を出荷・登録し、当社のアプリが直接呼び出すため、エンドユーザーには当社の UI しか見えません。32 ビット ActiveX の制限のためにパイプラインの再構築に数日を要しましたが、回避策について問い合わせた際のサポートの対応は迅速でした。」
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 には CSVConverterX.exe が同梱されており、スクリプト、スケジュールタスク、ETL パイプライン、あるいは CSV や TSV データを別形式に変換する必要があるバックエンドサービスから呼び出せるコンソールバイナリです。フラグの体系は GUI 版の CSVConverter.exe と一致しています。すべてのオプションはコマンドライン ドキュメントを参照してください。以下のレシピは、SDK のお客様から最も多く寄せられるユースケースを取り上げています。
最小の呼び出し方 — ソースファイル 1 つ、出力 1 つ、ターゲット形式 1 つ。アドホックなレポーティングで、整形されたページネーション済み PDF を誰かの受信箱に届ける必要があるときに便利です。
CSVConverterX.exe "C:\reports\sales.csv" "C:\out\sales.pdf" -cPDF
フォルダ内のすべての CSV を処理し、対応する XLS ファイルを隣接する出力ディレクトリに書き出します。ワイルドカード *.csv はソースパスのトップレベルにあるすべてを拾います。
CSVConverterX.exe "C:\reports\*.csv" "C:\out\" -cXLS
OpenOffice Calc 向けには -cXLS を -cODS に、レガシーデータベースに流す場合は -cDBF に切り替えます。
レポーティングの出力は、しばしば日付付きツリーとして届きます:地域ごとに 1 フォルダ、日付ごとにサブフォルダ。-Recurse はサブディレクトリを走査し、-kfs はすべてを 1 つのバケットにフラット化する代わりに、出力側に同じツリーを再現します。
CSVConverterX.exe "C:\reports\2026\*.csv" "C:\out\2026\" -cPDF -Recurse -kfs
ドイツ語、フランス語など他のロケールの Excel 出力では、カンマが小数点記号として使われるため、カンマの代わりにセミコロンが使われます。-comma はフラグ名にかかわらず入力ファイルのフィールド区切り文字を設定します。
CSVConverterX.exe "C:\reports\de\*.csv" "C:\out\" -cXLS -comma ";"
TSV ファイル、SQL クライアントからのエクスポート、ログダンプなどは、フィールド区切り文字としてタブやパイプを使うことがよくあります。リテラル文字を -comma に渡してください — タブの場合は \t を使います。
CSVConverterX.exe "C:\data\*.tsv" "C:\out\" -cXLS -comma "\t"
CSVConverterX.exe "C:\data\*.csv" "C:\out\" -cXLS -comma "|"
実際の CSV エクスポートには、本来のテーブルが始まる前に数行のメタデータ(レポートタイトル、日付、区切り文字のヒント)が含まれていることがよくあります。-skip はそうした前置き行を除外し、-fh は次の行がヘッダーであることをコンバーターに伝えるので、列名が出力に伝播します。
CSVConverterX.exe "C:\reports\*.csv" "C:\out\" -cXLS -skip 3 -fh
パイプラインによっては、テキストフィールドを標準の二重引用符ではなく単一引用符やバッククォートで囲むものもあります。-quote は入力時にパーサーが文字列区切り文字として扱う文字を設定します。
CSVConverterX.exe "C:\exports\*.csv" "C:\out\" -cXML -quote "'"
多くの B2B 連携や ERP インポートでは、XML がいまだ共通言語です。コンバーターは CSV の各行ごとに 1 つの XML 要素を書き出し、-fh を設定するとヘッダー名がタグとして使われます。
CSVConverterX.exe "C:\reports\orders.csv" "C:\out\orders.xml" -cXML -fh
ワーカーがキューファイルを書き出し、コンバーターがそれを消費する場合、すべてのパスをコマンドラインに書きたくないでしょう。-list はテキストファイルから 1 行 1 ファイルマスクを読み込みます — 別のスクリプトで組み立てられた夜間バッチに最適です。
CSVConverterX.exe -list "C:\queues\nightly.txt" "C:\out\" -cPDF
CSVConverterX.exe がサービスやスケジュールジョブとして動作し始めたら、何が起きたかを知る唯一の手段はログです。-verbosity detail はエラーだけでなくファイルごとに 1 行を書き込み、-log はすべてのメッセージをファイルに振り向けてコンソールを静かに保ちます。
CSVConverterX.exe "C:\reports\*.csv" "C:\out\" -cXLS -log "C:\logs\csvconv.log" -verbosity detail
変換成功後にソースファイルを削除する必要がある場合は -do を追加してください — キューが消化されていくスプールフォルダ ワークフローに便利です。
更新 Fri, 01 May 2026
(のみ $850.00)
無料トライアルをダウンロードして、ファイルを数分で変換。
クレジットカードもメールアドレスも不要。