コマンドライン経由で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。
LLM エージェント (Claude、ChatGPT、Cursor、Cline) や検索フレームワーク (LangChain、LlamaIndex、Haystack) は CSV をうまく読みません — 数十億のカンマを含むプレーンな文字列は、埋め込みモデルにとって最悪の入力形状です。Total CSV ConverterX は CSV や TSV を、構造化された frontmatter とオプションの Docling 互換サイドカー付きの GitHub-Flavored Markdown テーブルとして書き出します。これにより、データはヘッダー行、カラムの型、単位が無傷のままベクトルストアに格納されます — 1 つの巨大なノイズ段落としてではなく。
Markdown 出力を指定したときに得られるもの:
source_file、format (MIME)、delimiter、encoding (UTF-8、ANSI、Unicode)、row_count、column_count、検出された languages、generator、created、出所追跡用の binary_hash
chunks_hint によって、スプリッタは分割点を正確に把握できます
;、タブ、パイプの区切り文字は frontmatter に記録されるため、下流のコンシューマーが必要であればソースを再構築できます
.docling.json サイドカー — 型付きカラム (文字列、整数、小数、日付、単位付き通貨)、カラム統計、スプリッタが読み取れる chunks_hint 配列を含む Docling スキーマの JSON
これはCoolUtils RAG Adapterです — すべての Total Converter X 製品で共有される統一された Markdown 規約。完全な仕様、サンプル .md + .docling.json、統合スニペットは Coolutils Converter X — RAG Adapter ページにあります。
(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
ActiveXまたはコマンドラインでサーバーサイドCSV変換を必要とする開発チームのために
WebベースのCSV→PDFおよびCSV→Excelツールを実現
Web開発者はTotal CSV ConverterXをActiveX経由でASPまたはPHPアプリケーションに統合し、オンラインサービスとしてCSV変換を提供します。ユーザーがブラウザからCSVファイルをアップロードすると、サーバーがPDF、XLS、またはHTMLにオンザフライで変換し、結果を返します。デスクトップソフトウェアやポップアップウィンドウは不要です。
ERPシステムからのCSVデータダンプを自動変換
エンタープライズITチームはTotal CSV ConverterXをサーバーに展開して、SAP、Oracle等のERPシステムからのCSVエクスポートを処理します。スケジュールされたタスクが夜間のデータダンプを財務チーム向けExcel、パートナー統合用XML、レガシーシステム用DBFに変換します。フォルダ構造を維持しカスタム区切り文字も自動処理します。
スケジュールされたパイプラインでCSVフィードをJSON、XML、データベース形式に変換
データエンジニアリングチームはコマンドラインインターフェースを使ってETLパイプラインに変換ステップを追加します。API、IoTセンサー、ログシステムからのCSVファイルをWebサービス用JSON、データウェアハウス用XML、またはデータベース直接インポート用SQL対応形式に変換します。データ型、区切り文字、行フィルタリングを完全にコントロールできます。
ネットワーク上の複数ユーザーに変換済みレポートを提供
Total CSV ConverterXはローカルネットワーク上でクライアントサーバーアプリケーションとして動作し、複数ユーザーが同時にCSV変換を要求できます。財務、営業、業務チームがそれぞれ必要な形式(管理層向けPDF、アナリスト向けXLS、ダッシュボード向けHTML)でデータエクスポートを取得できます。すべて1つのサーバーインストールから提供されます。
トランザクションCSVログをアーカイブ用PDFとDOCに変換
規制対象業界は、トランザクションCSVログと監査証跡を長期アーカイブ用のPDFまたはDOCに変換します。Total CSV ConverterXはGUI操作なしにサーバー上で大量のファイルを静かに処理するため、無人の夜間ジョブやコンプライアンス主導の保持ワークフローに最適です。
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)
.md を指定すると、コンバーターは各 CSV を GitHub-Flavored Markdown テーブルとして書き出します: ヘッダー行は自動検出され、数値カラムは右揃え、日付と文字列は左揃えになります。YAML frontmatter ブロックには source_file、元の delimiter と encoding、row_count、column_count、検出された言語、出所追跡用のバイナリハッシュが格納されます。数百万行の CSV は安定した境界で Markdown チャンクに分割されます。サイドカーの chunks_hint により、スプリッタは分割点を正確に把握できます。これは CoolUtils RAG Adapter の一部です — すべての Total Converter X 製品で同じ Markdown 規約が共有されます。binary_hash、chunks_hint 配列。コマンドラインで -Docling を指定して有効化します。JSON は Markdown から独立しています — インデックスに両方を投入することも、.md のみを使うこともできます。.md ファイルは YAML frontmatter ブロックを持つプレーンな GFM なので、LangChain の UnstructuredMarkdownLoader、LlamaIndex の MarkdownReader、Haystack の MarkdownToDocument、Claude Code の MCP ファイルツールがそのまま読み込めます。Claude、ChatGPT、その他のチャット UI では、Markdown をそのままコンテキストに貼り付けることができます — テーブルがレンダリングされ、カラムヘッダーはモデルにとって明白であり、frontmatter は行数/カラム数と元の区切り文字を提供します。CSVConverterX.exe "C:\inbox\*.csv" "C:\out\" -cMD -Docling -separator ";"。-cMD は Markdown を選択し、-Docling は .docling.json サイドカーも書き出し、-separator は入力の区切り文字を設定します (TSV には \t を使用)。サブフォルダを走査するには -Recurse を追加します。COM から: obj.Convert("export.csv", "export.md", "-cMD -Docling")。生成された Markdown は、任意のベクトルストアでチャンク化、埋め込み、インデックス作成できる状態です。無料トライアルをダウンロードして、ファイルを数分で変換。
クレジットカードもメールアドレスも不要。