ウェブサーバーを介してXLS、XLSX、ODS、XMLスプレッドシートをバッチ変換します。
Windows
2000/2003/Vista
7/8/10/11
and
2012/2016/2019/2022 Server
and
Docker/Citrix/Wine
Total Excel Converter X は、XLSX、XLS、XLSM、ODS、CSV、XML スプレッドシートを PDF、JSON、XML、HTML、DBF、SQL、その他 15 以上の形式に変換するサーバーサイド SDK です — Microsoft Excel やその他の Office ランタイムをサーバーにインストールする必要はありません。ヘッドレスで動作します。GUI、ダイアログ、ポップアップは一切ありません。Total Excel Converter X には コマンドライン バイナリと ActiveX/COM インターフェースの両方が付属しているため、ASP、PHP、.NET、Python、Ruby、Java、その他あらゆる COM 対応バックエンドに組み込めます。サポートされている入力形式の全リスト:
-list) 処理に対応しています。プログラムはワークブックを直接読み取ります — Excel オートメーションも、Open XML SDK の依存も、面倒を見るべきヘッドレス Office インスタンスも不要です。
高速変換とバッチ処理により、シンプルで退屈のない作業を実現します。無料でお試しください (30 日間の試用期間、機能制限なし)。価格に見合う価値があることを実感していただけます。
現在サポートされているファイル形式変換の一部:
|
|
|
LLM エージェント (Claude、ChatGPT、Cursor、Cline) や検索パイプライン (LangChain、LlamaIndex、Haystack) は XLSX を読みません。テキストを読みます。Total Excel Converter X はスプレッドシートを、構造化された frontmatter とオプションの Docling 互換サイドカー付きの GitHub-Flavored Markdown として書き出します。これにより、ワークブックは階層、ヘッダー、数式、単位が無傷のままベクトルストアに格納されます — 結合セルが失われた平坦な文字列としてではなく。
Markdown 出力を指定したときに得られるもの:
source_file、format (MIME)、generator、created、シート数、行/カラム数、検出された言語、出所追跡用のバイナリハッシュ
# / ## / ### の Markdown 見出しにマッピングされるため、RAG スプリッタはテーブルの途中ではなく意味のある境界で分割します
.docling.json サイドカー — 単位 (EUR、pcs、kWh、%) 付きの型付きカラム、元の座標 (of:=[.C5]*[.D5]) と並んで正規化された数式 (=qty*unit_price)、スプリッタ用の chunks_hint
UnstructuredMarkdownLoader / MarkdownReader で取得できます
これは私たちがCoolUtils RAG Adapterと呼ぶものです — すべての Total Converter X 製品で共有される統一された Markdown 規約。完全な仕様、サンプル .md + .docling.json、統合スニペットは Coolutils Converter X — RAG Adapter ページにあります。
(30日間の無料試用を含む)
(のみ $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;
「2 年前、Excel-Interop の COM オートメーションスクリプトを Total Excel Converter X に置き換えました。Interop パイプラインはハンドルをリークし、アプリプールをクラッシュさせ、変換用 VM ごとに完全な Office のインストールが必要でした。今ではそれらの VM はキューの背後で ExcelConverterX.exe しか動かしていません。変換のレイテンシはワークブックあたり約 12 秒から 1.5 秒に下がり、Office のライセンス費用項目もなくなりました。.NET ワーカーへの統合は半日で完了しました。」
Mateusz K.
Senior Backend Developer at a fintech
「私たちのお客様は、給与計算スプレッドシートをあらゆる形式でアップロードしてきます: XLS のベンダーテンプレート、マクロ付きの最新 XLSX、LibreOffice ユーザーからのときどきの ODS。Total Excel Converter X はすべてを AES-256 暗号化付きの単一アーカイブ用 PDF プロファイルに正規化し、コンプライアンスに必要な権限ごとのフラグを刻印します。-list キューファイルと -verbosity detail ログは、そのままログ集約システムに流し込めます。Windows Server Core 上でヘッドレス、Office なし、サプライズなしです。」
Sofia L.
DevOps Engineer at a payroll SaaS
「私たちは ETL のお客様向けに XLSX-to-JSON をサービスとして公開しています。Total Excel Converter X はそのエンドポイントの背後にあるエンジンです。-FirstRowIsHeader と直接 JSON 出力のおかげで、自前のパーサーを書いたり、別の CSV-to-JSON ステップを維持する必要がなくなりました。1 日に数千件の変換を 5 年間処理してきましたが、コンバーターのせいにできる障害は一度もありません。CLI は安定しており、出力は実行ごとにビット単位で同一です。」
Hamid Y.
CTO at an ETL platform vendor
「Total Excel Converter X を Royalty-Free License の下で当社のレポーティング製品にバンドルしました。プロジェクトごとの一回払いの料金は、Aspose-Cells が開発者ごとのサブスクリプションで要求していた金額のごく一部でした。当社のインストーラーが ActiveX を配布・登録し、当社のアプリが直接呼び出し、エンドユーザーには当社の UI しか見えません。32 ビット ActiveX の制限でパイプラインの修正に数日かかりましたが、回避策について問い合わせたときのサポートの対応は迅速でした。」
Britt N.
Independent Software Vendor
「ブローカーは埋め込み写真と結合セルを含む XLSX で物件リストのエクスポートをアップロードしてきますが、私たちは公開ポータル用にきれいな PDF が必要です。Total Excel Converter X は、評価したオープンソースライブラリよりもレンダリングの細かい挙動 (結合セル、ウィンドウ枠の固定、名前付き範囲) を上手く処理します。-combine -sort name で 10 個のワークブックを 1 つの月次 PDF に結合する機能は、毎リリースサイクルで使っています。」
Daichi T.
Lead .NET Developer at a real-estate platform
サーバー上でExcelファイルをPDF、DOC、CSVなどに変換する開発者とITチームのために
ActiveX経由でWebアプリにExcel→PDF変換を追加
Web開発者はTotal Excel ConverterXをASP、PHP、または.NETアプリケーションに統合し、ユーザーがExcelファイルをアップロードして変換されたPDF、HTML、またはCSVを即座に受け取れるようにします。コンバーターはGUIなしにサーバー上で静かに動作し、複数の同時ユーザーを途切れなくサポートします。
業務システムからのExcelエクスポートを自動変換
エンタープライズITチームはTotal Excel ConverterXをスケジュールして、ERP、CRM、BIプラットフォームからの夜間XLSおよびXLSXエクスポートを処理します。財務レポートを保護付きPDFに変換したり、データベース用にCSVにデータを抽出したり、社内ダッシュボード用にスプレッドシートをHTMLに変換したりします。すべてコマンドライン経由で無人実行できます。
フォルダに新しいExcelファイルが到着したら自動変換
Total Folder Monitorと組み合わせることで、Total Excel ConverterXは指定されたフォルダを監視し、新しいXLSファイルが届くたびに自動変換します。パートナーアップロード、FTPドロップ、または自動エクスポートからの受信スプレッドシートが必要な形式に変換され、適切な宛先に自動的に振り分けられます。
ローカルネットワーク上のすべてのユーザーにExcel変換を提供
組織はTotal Excel ConverterXを社内ネットワーク上の共有サービスとして展開します。財務、営業、業務の各チームが集中サーバーを通じてExcelファイルをPDF、DOC、またはCSVに変換できます。すべてのワークステーションにデスクトップコンバーターをインストールする必要はありません。
独自のソフトウェアにスプレッドシート変換を組み込む
ソフトウェアベンダーはExcelエクスポート機能を追加するためにTotal Excel ConverterXを自社製品に組み込みます。ActiveXインターフェースはシンプルなAPIコールで変換機能を提供し、XLS、XLSX、ODS、DBFファイルをPDF、HTML、CSV、SQL、LaTeXおよび15以上のその他の形式にCOM互換アプリケーションから変換できます。
Total Excel ConverterX には ExcelConverterX.exe が同梱されており、スクリプト、スケジュールタスク、CI ランナー、あるいは任意のバックエンドサービスから呼び出せるコンソールバイナリです。フラグの体系は GUI 版の ExcelConverter.exe と一致しています。すべてのオプションはコマンドライン ドキュメントを参照してください。以下のレシピは、SDK のお客様から最も多く寄せられるユースケースを取り上げています。
最小の呼び出し方 — ソースファイル 1 つ、出力 1 つ、ターゲット形式 1 つ。
ExcelConverterX.exe "C:\reports\Q4-financials.xlsx" "C:\out\Q4-financials.pdf" -cPDF
フォルダ内のすべてのワークブックを処理し、隣接する出力ディレクトリに PDF を出力します。マスクを *.xls、*.ods、*.csv に切り替えると、別のソース形式を選択できます。
ExcelConverterX.exe "C:\reports\*.xlsx" "C:\out\" -cPDF
ほとんどのデータパイプラインは CSV を必要としますが、純粋なカンマで使うことはまれです。標準の区切り文字(Tab、Space、Semicolon、Comma)から選ぶには -td を、それ以外を設定するには -td Other -tdo を使用します — ここではパイプ文字を使用します。
ExcelConverterX.exe "C:\reports\*.xlsx" "C:\out\" -cCSV -td Other -tdo "|" -FirstRowIsHeader -UseQuote
-FirstRowIsHeader は行 1 を列名として扱うようコンバーターに伝え、-UseQuote はテキストフィールドを引用符で囲んで埋め込み区切り文字でパースが壊れないようにします。
ワークブックのデータを REST エンドポイントや ETL ジョブに流す場合、CSV を経由せずに直接構造化形式へレンダリングします。
ExcelConverterX.exe "C:\reports\*.xlsx" "C:\out\" -cJSON -FirstRowIsHeader
ExcelConverterX.exe "C:\reports\*.xlsx" "C:\out\" -cXML -FirstRowIsHeader
多くの会計や ERP のツールは、いまだに DBF テーブルを取り込みます。コンバーターはワークブックから直接、有効な dBase ファイルを書き出します。
ExcelConverterX.exe "C:\reports\customers.xlsx" "C:\out\customers.dbf" -cDBF -FirstRowIsHeader
既定では、表示されているすべてのシートが個別の出力ファイルになります。-sheets は名前を指定したシートだけを選び、-cs はそれらを 1 つのドキュメントに結合し、-ExportAll は非表示シートも含めます。
ExcelConverterX.exe "C:\reports\workbook.xlsx" "C:\out\summary.pdf" -cPDF -sheets "Summary;Q4;Forecast" -cs
月次レポートでは、10〜20 のワークブックを 1 つの納品物にまとめることがしばしばあります。-combine はソースファイル順にそれらを 1 つの PDF にマージし、-sort name がその順序を制御します。
ExcelConverterX.exe "C:\reports\monthly\*.xlsx" "C:\out\monthly-pack.pdf" -cPDF -combine -sort name
ワークブックがネストされたクライアントフォルダにある場合、-Recurse はサブディレクトリを走査し、-kfs はすべてを 1 つのバケットにフラット化する代わりに、出力側に同じツリーを再現します。
ExcelConverterX.exe "C:\clients\*.xlsx" "C:\out\clients\" -cPDF -Recurse -kfs
外部の受領者に財務情報を送る際の定石:オーナーパスワードで編集/印刷権限をロックし、ユーザーパスワードでファイルを開く操作を制限し、AES-256 暗号化で堅牢に保ちます。
ExcelConverterX.exe "C:\reports\*.xlsx" "C:\out\" -cPDF -mp "owner-pwd" -up "user-pwd" -perm Print -EncryptStrength es256AES
Print を Copy、Modify、Annotation、FormFill、HighResPrint の任意の組み合わせに置き換えて、付与する権限を正確に指定できます。ソースのワークブック自体がパスワード保護されている場合は、先頭で -Pass "wb-pwd" を渡してください。
ワーカーがキューファイルを書き出し、コンバーターがそれを消費する場合、コマンドラインそのものにファイルパスを書きたくないでしょう。-list はテキストファイルから 1 行 1 ファイルマスクを読み、-verbosity detail はファイルごとに 1 行を書き込み、-logmode append は実行をまたいで履歴を維持します。
ExcelConverterX.exe -list "C:\queues\batch.txt" "C:\out\" -cPDF -log "C:\logs\xlsxconv.log" -verbosity detail -logmode append
更新 Fri, 01 May 2026
(のみ $550.00)
new COM("ExcelConverter.ExcelConverterX")、.NET では new ExcelConverterX()、Python では win32com.client.Dispatch、Ruby では WIN32OLE.new。あるいは ExcelConverterX.exe コマンドラインバイナリを任意のプロセス、スケジューラ、シェルスクリプトから呼び出すこともできます。ASP/PHP の Web レスポンス向けに ConvertToStream による直接 PDF ストリーミングも利用できます。-mp "owner-pwd"、ファイルを開く際の制限には -up "user-pwd" を使用します。-perm フラグは Print、HighResPrint、Copy、Modify、Annotation、FormFill の任意の組み合わせを受け付けます。暗号化強度は -EncryptStrength es256AES で制御します。元のワークブック自体がパスワード保護されている場合は、コンバーターが開けるように事前に -Pass "workbook-pwd" を渡してください。-sheets "Summary;Q4;Forecast" を使用します。選択したシートを 1 つの出力ドキュメントに結合するには -cs を追加し、非表示シートも含めるには -ExportAll を追加します。複数のワークブックをソースファイル順に 1 つの PDF にマージするには、フォルダマスクに対して -combine -sort name を実行します。-Recurse はサブディレクトリを走査し、-kfs はすべてを 1 つのバケットに平坦化するのではなく、出力側でフォルダツリーをミラーリングします。.md を指定すると、コンバーターは GitHub-Flavored Markdown を書き出します: 各シートは複数行ヘッダー、結合セル、バイリンガルなカラムキャプションを保持した GFM テーブルになります。YAML frontmatter ブロックには source_file、MIME format、シート数、行/カラム数、検出された言語、ジェネレータ、出所追跡用のバイナリハッシュが格納されます。ワークブック階層 (ワークブック → シート → 名前付き範囲 → ヘッダーバンド) は # / ## / ### の Markdown 見出しにマッピングされるため、RAG スプリッタはテーブルの途中ではなく意味のある境界で分割します。これは CoolUtils RAG Adapter の一部です — すべての Total Converter X 製品で同じ Markdown 規約が共有されます。of:=[.C5]*[.D5]) と並んで正規化された数式 (=qty*unit_price)、シートごとの境界矩形、出所追跡用の 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 はモデルにソースファイル名と言語ヒントを提供します。オプションの .docling.json サイドカーは、Docling 対応のインジェスターや、型付きカラムを必要とするカスタムローダーで消費されます。ExcelConverterX.exe "C:\reports\Q4.xlsx" "C:\out\" -cMD -Docling。-cMD は Markdown 出力を選択し、-Docling は .docling.json サイドカーも書き出します。スコープを絞るには -sheets "Summary;Q4;Forecast"、サブディレクトリを走査するには -Recurse、無人パイプラインには -list "queue.txt" を追加してください。COM から: obj.Convert("Q4.xlsx", "Q4.md", "-cMD -Docling")。生成された Markdown は、任意のベクトルストアでチャンク化、埋め込み、インデックス作成できる状態です。無料トライアルをダウンロードして、ファイルを数分で変換。
クレジットカードもメールアドレスも不要。