C#でセル範囲を画像に変換する方法

C#でセル範囲を画像に変換する方法

スプレッドシートの一部を視覚的に抽出する必要がありますか? 画像に細胞範囲を輸出することは、タンパク質、予測、または部分レポートを生成するのに役立ちます. このガイドでは、Excelで定義された細胞範囲を高品質の画像に変換する方法を示しています Aspose.Cells for .NET

ユースケース

  • 輸出価格表または製品カタログ
  • 完全なファイルを表示せずにワークシートの一部を共有する
  • ダッシュボードやウィジェットのためのダイナミックランジをキャプチャする

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

ステップ1: Aspose.Cells をインストール

dotnet add package Aspose.Cells

ステップ2:ワークブックとワークシートをアップロード

Workbook workbook = new Workbook("DataSet.xlsx");
Worksheet worksheet = workbook.Worksheets[0];

ステップ3:輸出範囲を定義する

// Specify a range like A1:D10
Range range = worksheet.Cells.CreateRange("A1", "D10");

ステップ4:画像レンダーオプションの設定

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

ステップ5: SheetRender を作成し、Render the Range

// You can use SheetRender with printing bounds if needed
SheetRender renderer = new SheetRender(worksheet, options);

ステップ6:画像としての輸出範囲

Aspose.Cells は直接の RangeRender クラスを持っていませんが、選択した範囲にランディングを焦点を当てて画像をクリップすることができます。

// Set print area manually for the worksheet
worksheet.PageSetup.PrintArea = "A1:D10";

// Recreate SheetRender with print settings now applied
renderer = new SheetRender(worksheet, options);

// Render and export
renderer.ToImage(0, "range_output.png");

ステップ7:収入を保存して確認する

あなたは今、選択したExcel範囲の清潔なグラフイメージを持っています。

完全例コード

using System;
using Aspose.Cells;

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

        // Access the first worksheet
        Worksheet worksheet = workbook.Worksheets[0];

        // Define range to export (A1 to D10)
        Range range = worksheet.Cells.CreateRange("A1", "D10");

        // Set the print area to this range
        worksheet.PageSetup.PrintArea = range.RefersTo;

        // Set image export options
        ImageOrPrintOptions options = new ImageOrPrintOptions
        {
            ImageType = ImageType.Png,
            HorizontalResolution = 200,
            VerticalResolution = 200,
            OnePagePerSheet = true
        };

        // Render only the specified range
        SheetRender renderer = new SheetRender(worksheet, options);

        // Export to image
        renderer.ToImage(0, "range_output.png");

        Console.WriteLine("Cell range exported successfully as image.");
    }
}

トラブル解決のヒント

問題解決策
画像には追加列/コラムが含まれています。印刷領域が厳格に定義されていることを確認する
適切に埋め込まれていない範囲セット OnePagePerSheet = true
ブレイクテキスト拡大解像度設定
 日本語