Xlsm を PNG に変換する方法

Xlsm ファイルを Png 画像に変換する方法

Sheetize は、Excel のマクロ有効ブック(.xlsm)を鮮明な PNG(Portable Network Graphics)画像に変換できるシンプルかつ高速な API を提供します。軽量サムネイルの生成や、ウェブページへのスプレッドシートプレビュー埋め込み、元データを公開せずにドキュメント用のロスレスラスタ画像を作成したいときに最適です。

Sheetize を使うメリット(Xlsm → Png 変換)

  • 完全な忠実度 – セルの書式、カラー、チャート、埋め込み画像をすべて保持
  • ロスレスラスタ – PNG はピクセルをそのまま保存し、圧縮アーティファクトがありません。スクリーンショットやウェブ用画像に最適
  • 高速・スケーラブル – .NET 向けに最適化され、Windows、macOS、Linux で Office のインストール不要で動作
  • 解像度・透過性のカスタマイズ – DPI を設定でき、背景を透明にするオプションもあります

はじめに

NuGet から Sheetize.ImageConverter パッケージをプロジェクトに追加し、ImageConverter.Process メソッドを呼び出すだけです。

C# サンプルコード

using Sheetize;

var loadOptions = new LoadOptions
{
    // 変換元 Xlsm ファイルのパス
    InputFile = @"D:\Reports\SalesDashboard.xlsm"
};

var saveOptions = new ImageSaveOptions
{
    // 出力ファイル(拡張子 .png が PNG 形式を指示)
    OutputFile = @"D:\Images\SalesDashboard.png",

    // 任意: 画像解像度(DPI)を指定
    HorizontalResolution = 200,
    VerticalResolution = 200,

    // 任意: 背景を透過にする(デフォルトは不透明な白)
    // BackgroundColor = "transparent"
};

ImageConverter.Process(loadOptions, saveOptions);

上記のコードは SalesDashboard.xlsm を読み込み、指定した DPI(透明背景オプションあり)で SalesDashboard.png として書き出します。

PNG 出力時の主なオプション

  • HorizontalResolution / VerticalResolution – 基準 DPI を設定。数値が高いほど画面・印刷時にシャープになります。
  • BackgroundColor – 固定色(例: #FFFFFF)または "transparent" を指定してアルファチャンネルを有効化できます。
  • CompressionLevel – PNG はロスレス圧縮。0(最速)〜9(最高圧縮)で調整可能です。

ベストプラクティス

  1. Web 用画像は 150 〜 200 DPI が目安。印刷用は 300 DPI 以上を推奨。
  2. PNG をカラー UI 上に重ねて表示する場合は、背景透過を有効にしてください。
  3. 生成された PNG をブラウザや画像エディタで確認し、色・透過・解像度が期待通りかチェックしましょう。
 日本語