C#でワークシートを画像に変換する方法

C#でワークシートを画像に変換する方法

単一の Excel ワークシートを画像形式(例えば PNG、JPEG)にエクスポートすることは、プレビューを生成したり、グラフをエクスポートしたり、スプレッドシートのコンテンツの単なる視覚的な表現を共有したりするのに役立ちます。このガイドでは、1 つのワークシートを Excel ワークシートから画像に変換する方法を示しています。

ユースケース

  • 特定のワークシートのプレビューを作成する
  • 電子メールまたは文書のための輸出フォーマットレポート
  • 単一のページをウェブページまたはPDFに組み込む

ステップ・ステップ・ガイド

ステップ1: .NET のための Aspose.Cells をインストールする

dotnet add package Aspose.Cells

ステップ2:Excelファイルをアップロード

Workbook workbook = new Workbook("SalesData.xlsx");
Worksheet sheet = workbook.Worksheets["Q1 Report"]; // Access specific worksheet

ステップ3:画像レンダーのオプションを設定する

ImageOrPrintOptions options = new ImageOrPrintOptions
{
    ImageType = ImageType.Png,
    OnePagePerSheet = true,
    HorizontalResolution = 200,
    VerticalResolution = 200,
    PrintingPageType = PrintingPageType.Default
};

ステップ4: SheetRender オブジェクトを作成する

SheetRender renderer = new SheetRender(sheet, options);

ステップ5:各ページを画像に変換する

for (int pageIndex = 0; pageIndex < renderer.PageCount; pageIndex++)
{
    string imageName = $"worksheet_q1_page_{pageIndex + 1}.png";
    renderer.ToImage(pageIndex, imageName);
}

ステップ6:画像を保存

このコードは、タブレットに印刷可能なページごとに1枚の画像を自動的に保存します。

ステップ7:オプションの改善

追加のレイアウト設定を適用できます:

// Show gridlines in the output image
options.ShowGridLines = true;

// Fit all content on a single page
options.AllColumnsInOnePagePerSheet = true;

完全例コード

using System;
using Aspose.Cells;

class Program
{
    static void Main()
    {
        // Load the Excel workbook
        Workbook workbook = new Workbook("SalesData.xlsx");

        // Access a specific worksheet
        Worksheet sheet = workbook.Worksheets["Q1 Report"];

        // Define image rendering options
        ImageOrPrintOptions options = new ImageOrPrintOptions
        {
            ImageType = ImageType.Png,
            OnePagePerSheet = true,
            HorizontalResolution = 200,
            VerticalResolution = 200,
            PrintingPageType = PrintingPageType.Default
        };

        // Enable gridlines if desired
        options.ShowGridLines = true;

        // Render the sheet to image(s)
        SheetRender renderer = new SheetRender(sheet, options);

        for (int pageIndex = 0; pageIndex < renderer.PageCount; pageIndex++)
        {
            string imageName = $"worksheet_q1_page_{pageIndex + 1}.png";
            renderer.ToImage(pageIndex, imageName);
            Console.WriteLine($"Saved: {imageName}");
        }

        Console.WriteLine("Worksheet successfully rendered to image(s).");
    }
}

一般的なシナリオ&トラブル解決

問題解決策
カットオフコンテンツ利用 AllColumnsInOnePagePerSheet = true
出力は低品質画像解像度の向上
ギャラリーが欠けているセット ShowGridLines = true
 日本語