Word文書のテーブルに表形式データを保持するDOCXファイルのフォルダ — 財務モデル、契約付録、規制提出表、監査チェックリスト — がある場合。数値は散文ドキュメント内に閉じ込められており、ソート、フィルタ、合計、下流システムへの供給はできません。テーブルを手作業でExcelに再入力するのは遅くエラーが発生しやすいです。Total Doc Converter Xは、GUIなし、Microsoft Officeのインストールも不要で、コマンドラインからDOCXファイルをバッチでXLSに変換します。Windowsサーバーにインストールし、スクリプトやActiveX経由で呼び出して、無人で実行できます。
*.docx)を指定するだけで、一致するすべてのファイルを一回の実行で処理
(30日間、メール登録不要)
(サーバーライセンス、永続版)
Windows 7/8/10/11 • Server 2008/2012/2016/2019/2022
DOCXは散文向けに構築されたWord文書形式です。DOCX内のテーブルは視覚的なアーティファクトであり — 計算ではなく読むために設計された行とセルです。数式エンジン、ソート、フィルタ、グラフはありません。DOCX内の200行の財務テーブルは、セルに実際の数字が含まれていても、本質的には数値の静的な絵です。
XLSは数値を分析する必要があるあらゆる場所で使われるMicrosoft Excel形式です。セルは数式、ピボットテーブル、データ検証に参加する型付き値を保持します。XLSファイルはBIツール、会計システム、ERPインポート、Power Queryに接続できます。表形式データがWord文書内に存在し、計算またはインポートが必要なとき、まずXLSにする必要があります。
| DOCX | XLS | |
|---|---|---|
| 目的 | 散文、契約、レポート | 数値分析、モデル、データフィード |
| セル | 静的な視覚レイアウト | 型と数式を持つライブ値 |
| 計算 | なし | SUM、VLOOKUP、ピボットテーブル、グラフ |
| ソート・フィルタ | 非対応 | 標準搭載 |
| 下流統合 | 手動再入力 | ERP、BI、データベースへの直接インポート |
上のリンクからインストーラーをダウンロードし、Windowsサーバーまたはワークステーションで実行します。セットアップは1分以内で完了します。Microsoft WordやExcelのインストールは不要です — コンバーターは独自エンジンでDOCXテーブルを読み取り、XLSファイルを直接書き出します。
cmd.exeまたはPowerShellを開きます。コンバーターの実行ファイルはDOCConverter.exeで、インストールフォルダ(通常はC:\Program Files\CoolUtils\TotalDocConverterX\)にあります。システムPATHに追加するか、コマンドでフルパスを使用してください。
最もシンプルなコマンドは、フォルダ内のすべてのDOCXファイルをXLSに変換します:
DOCConverter.exe C:\Reports\*.docx C:\Output\ -c XLS
このコマンドはC:\Reports\内のすべての.docxファイルを処理し、変換後のXLSファイルをC:\Output\に保存します。各DOCXファイルから同じベース名のXLSが1つ生成されます。DOCX内のテーブルはワークシートの行と列になります。
追加のフラグでXLS出力を制御します:
DOCConverter.exe C:\Reports\*.docx C:\Output\ -c XLS -SheetName Data -log C:\Logs\docx2xls.log
-c XLS — ターゲット形式(新しいExcel形式には-c XLSXを使用)-SheetName Data — 抽出されたテーブルを保持するワークシートの名前を設定-log C:\Logs\docx2xls.log — 検証用の変換ログを出力-deleteSrc — 変換成功後にソースファイルを削除(注意して使用)コマンドを.batファイルに保存し、Windowsタスクスケジューラでスケジュールします:
@echo off "C:\Program Files\CoolUtils\TotalDocConverterX\DOCConverter.exe" C:\Incoming\*.docx C:\Archive\XLS\ -c XLS -SheetName Data -log C:\Logs\docx2xls.log
これにより、毎晩(または設定した任意の間隔で)変換が実行され、結果を検証できるログファイルが出力されます。
Total Doc Converter Xには完全なActiveXインターフェースが含まれています。.NET、VBScript、PHP、Python、Ruby、ASPなど、あらゆるCOM互換環境からコンバーターを呼び出せます。これにより、コマンドラインプロセスを外部起動することなく、独自のウェブアプリケーション、イントラネットポータル、ドキュメントワークフローにDOCX-to-XLS変換を組み込めます。
例(C#/.NET):
DOCConverterX Cnv = new DOCConverterX();
Cnv.Convert("C:\\Reports\\budget.docx", "C:\\Output\\budget.xls", "-c XLS -log c:\\Logs\\doc.log");
例(PHP):
$c = new COM("DOCConverter.DOCConverterX");
$c->convert("C:\\Reports\\budget.docx", "C:\\Output\\budget.xls", "-c XLS -log c:\\Logs\\doc.log");
同じ呼び出しがASP.NET、VBScript、Python、Ruby、Perl、JavaScript(Windows Script Host)でも動作します。ウェブアプリケーションでアップロードされたDOCXファイルを受け取り、リアルタイムでライブXLSスプレッドシートをユーザーに返すことができます。
| 機能 | オンラインコンバーター | Total Doc Converter X |
|---|---|---|
| バッチ処理 | 一度に1ファイルのみ | バッチあたりファイル数無制限 |
| ファイルのプライバシー | サードパーティサーバーにアップロード | ファイルは自分のマシンから外に出ない |
| テーブル抽出 | テキストを1列に詰め込むことが多い | Wordテーブルを本物のセルにマッピング |
| 出力の忠実度 | 数値がテキスト文字列として保存 | 数値セル、数式に対応 |
| 自動化 | 手動のみ | コマンドライン、.bat、タスクスケジューラ、ActiveX |
| サーバー展開 | 不可 | サーバー向け設計、GUI不要 |
| Officeのインストール必須 | 該当なし | 不要 |
| インターネット必要 | はい | いいえ |
コンバーターは有効なXLSファイルを直接書き出します。サーバーにMicrosoft Word、Excel、その他のOfficeスイートをインストールする必要はありません。これによりライセンスコストを回避し、無人シナリオでのOffice自動化のよく知られた不安定さを回避できます。
Total Doc Converter Xは無人運用向けに設計されています。GUIウィンドウ、ダイアログボックス、確認プロンプトはありません。コマンドラインから、またはサービスの一部としてサイレントに実行されます — 本番サーバーに必要なものそのものです。
結果のXLSのセルには、数値のように見えるテキスト文字列ではなく、本物の数値が保持されます。SUM、AVERAGE、ピボットテーブルがすぐに動作します。クリーンアップパスなしでスプレッドシートをソート、フィルタ、XLSを取り込むあらゆるシステムに供給できます。
同じコマンドラインツールでDOCXをPDF、XLSX、HTML、TIFF、JPEG、RTF、TXTなどに変換できます。1回のインストールですべてのDOCX変換ニーズに対応します。-c XLSを-c PDFに変更するだけで、同じバッチ機能と自動化機能でPDF出力が得られます。
(30日間、メールやクレジットカード不要)
(サーバーライセンス、永続版)
Windows 7/8/10/11 • Server 2008/2012/2016/2019/2022
"当社の子会社は月次レポートパックをDOCXとして送ってきますが、ナラティブ内に予算テーブルが埋め込まれています。以前は各テーブルをExcelに手作業でコピーしていました。Total Doc Converter Xは連結サーバー上で夜間バッチとして実行され、グループレポートモデルに直接供給するXLSファイルを生成します。数値は数値のままなので、SUMIF数式が初日からクリーンアップパスなしで動作しました。"
Lukas Hoffmann Financial Controller, Industrial Holding
"約12,000件の過去のDOCX提出をデータウェアハウスに取り込む必要がありました。私たちが気にしていたのは内部のテーブルだけでした。1つの.batファイル、1つの週末で、Power Queryを通じてクリーンにロードされるXLSファイルのフォルダができあがりました。CLIは無人モードで行儀よく振る舞い、ログは少数の破損したソース文書を捉えてくれたので、それらを手動レビューにルーティングできました。"
Priya Raman Data Engineer
"当社の規制提出は密集した統計テーブルを含むWord文書として届きます。ActiveXインターフェースを社内のコンプライアンスポータルに統合したことで、レビュアーはDOCXを取り出して照合用にXLSを得られます。複数ページにわたるテーブルのレンダリング品質は安定しています。COMオブジェクトに関するドキュメントは場所によってはより明確にしてほしいですが、サポートは1日以内に質問に答えてくれました。"
Caroline Ashby Compliance Analyst, Regulated Bank
DOCConverter.exe C:\Reports\*.docx C:\Output\ -c XLS です。ソースフォルダ内のすべてのDOCXファイルをXLSに変換します。-SheetName Dataや-logなどのフラグを追加してワークシート名を設定し、検証用ログをキャプチャできます。-SheetNameでシート名を指定できます。テーブル間の散文段落はスキップされます — XLS出力は表形式データに焦点を当てており、それがスプレッドシートに変換する目的です。DOCConverter.DOCConverterX)として登録されます。.NET、PHP、Python、VBScript、ASP、Ruby、Perl、その他のCOM互換環境から呼び出して、独自のアプリケーションにDOCX-to-XLS変換を組み込めます。
string src = @"C:\test\Source.docx";
string dest = @"C:\test\Dest.pdf";
var cnv = new DocConverterX();
cnv.Convert(src, dest, "-cPDF -log c:\\test\\Doc.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\DocConverterX.exe";
sbLogs.AppendLine(executablePath + "...");
var srcPath = $@"{assemblyDirectoryPath}\src\sample.docx";
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}\" -cPDF";
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("DocConverter.DocConverterX")
C.Convert "c:\source.docx", "c:\dest.pdf", "-cPDF -log c:\doc.log"
Response.Write C.ErrorMessage
set C = nothing
dim C
Set C=CreateObject("DocConverter.DocConverterX")
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.docx", "C:\www\ASP", "-cpdf -log c:\doc.log")
set C = nothing
$src="C:\\test\\test.docx";
$dest="C:\\test\\test.pdf";
if (file_exists($dest)) unlink($dest);
$c= new COM("DocConverter.DocConverterX");
$c->convert($src,$dest, "-cPDF -log c:\\test\\Doc.log");
if (file_exists($dest)) echo "OK"; else echo "fail:".$c->ErrorMessage;
require 'win32ole'
c = WIN32OLE.new('DocConverter.DocConverterX')
src = "C:\\test\\test.docx"
dest = "C:\\test\\test.pdf"
c.convert(src, dest, "-cPDF -log c:\\test\\Doc.log")
if not File.exist?(dest)
puts c.ErrorMessage
end
import win32com.client
import os.path
c = win32com.client.Dispatch("DocConverter.DocConverterX")
src = "C:\\test\\test.docx"
dest = "C:\\test\\test.pdf"
c.convert(src, dest, "-cPDF -log c:\\test\\Doc.log")
if not os.path.exists(dest):
print(c.ErrorMessage)
uses Dialogs, Vcl.OleAuto;
var
c: OleVariant;
begin
c := CreateOleObject('DocConverter.DocConverterX');
c.Convert('c:\test\source.docx', 'c:\test\dest.pdf', '-cPDF -log c:\test\Doc.log');
if c.ErrorMessage <> '' then
ShowMessage(c.ErrorMessage);
end;
var c = new ActiveXObject("DocConverter.DocConverterX");
c.Convert("C:\\test\\source.docx", "C:\\test\\dest.pdf", "-cPDF");
if (c.ErrorMessage != "")
alert(c.ErrorMessage)
use Win32::OLE; my $src = "C:\\test\\test.docx"; my $dest = "C:\\test\\test.pdf"; my $c = CreateObject Win32::OLE 'DocConverter.DocConverterX'; $c->convert($src, $dest, "-cPDF -log c:\\test\\Doc.log"); print $c->ErrorMessage if -e $dest;
無料トライアルをダウンロードして、ファイルを数分で変換。
クレジットカードもメールアドレスも不要。