XLTm を EMF に変換する方法
XLTm ファイルを EMF 画像に変換する方法
Sheetize はシンプルで高性能な API を提供し、Excel のマクロ有効テンプレート(.xltm)を鮮明な EMF(拡張メタファイル)画像に変換できます。スケーラブルなグラフィックの生成や、ドキュメントへのブックプレビュー埋め込み、元のスプレッドシートデータを公開せずにベクターベースのレポートを作成したいときに最適です。
Sheetize を使うメリット(XLTm → EMF 変換)
- 完全な忠実度 – セル書式、チャート、埋め込み画像を保持しつつ、拡大縮小しても劣化しないベクタ画像を生成します。
- 高速・スケーラブル – .NET 用に最適化され、Windows、macOS、Linux で動作します。
- 解像度カスタマイズ可能 – DPI やスケール係数を設定して、必要な精度に合わせられます。
- 依存関係ゼロ – Office のインストールや外部ツールは不要です。
使い始める手順
NuGet から Sheetize.ImageConverter パッケージをプロジェクトに追加し、ImageConverter.Process メソッドを呼び出すだけです。
C# サンプルコード
using Sheetize;
var loadOptions = new LoadOptions
{
// 変換元 XLTm ファイルへのパス
InputFile = @"D:\Templates\InvoiceTemplate.xltm"
};
var saveOptions = new ImageSaveOptions
{
// 出力先ファイル。拡張子が .emf なので EMF 形式が選択されます
OutputFile = @"D:\Images\InvoiceTemplate.emf",
// 任意設定: 画像解像度(DPI)。EMF はベクタですが、DPI はデフォルトサイズに影響します
HorizontalResolution = 300,
VerticalResolution = 300,
// 任意設定: スケール係数(1.0 = 100%)
// ScaleFactor = 1.0
};
ImageConverter.Process(loadOptions, saveOptions);上記のコードは InvoiceTemplate.xltm を読み込み、指定した解像度で InvoiceTemplate.emf として書き出します(スケール係数は省略可能)。
EMF 出力の主なオプション
- HorizontalResolution / VerticalResolution – 基準 DPI を指定します。数値が大きいほど、スケーリング前のデフォルトサイズが大きくなります。
- ScaleFactor – 生成される EMF の全体サイズを倍率で調整します(例: 2.0 でサイズが 2 倍)。
- BackgroundColor – ワークブックに透過領域がある場合の背景色を設定できます。
ベストプラクティス
- 印刷用途 なら 300 DPI 以上を推奨。画面プレビューだけなら低めでも問題ありません。
- 生成された画像が目的のアプリケーションで小さすぎる/大きすぎる場合は ScaleFactor で調整してください。
- EMF をベクタ画像ビューア(Inkscape や Windows エクスプローラなど)で開き、全要素が正しく描画されているか確認しましょう。