C#でExcelチャートを画像に変換する方法

C#でExcelチャートを画像に変換する方法

Charts visually represent data in Excel files. When sharing reports, building dashboards, or generating documentation, you might need to export those charts to image files. This guide shows how to convert an Excel chart to an image using Aspose.Cells for .NET.

Why Convert Charts to Images?

  • ウェブサイトやプレゼンテーションに視覚データを埋め込む
  • Excel ビューアなしでレポートをメール送信する
  • PDF や印刷レイアウトにチャートを含める

Step-by-Step Guide

Step 1: Install Aspose.Cells for .NET

dotnet add package Aspose.Cells

Step 2: Load the Workbook

Workbook workbook = new Workbook("Dashboard.xlsx");
Worksheet sheet = workbook.Worksheets["Charts"];

Step 3: Select the Chart

// アクセスするワークシートの最初のチャート
Chart chart = sheet.Charts[0];

Step 4: Set Export Options

ImageOrPrintOptions options = new ImageOrPrintOptions
{
    ImageType = ImageType.Png,
    HorizontalResolution = 300,
    VerticalResolution = 300,
    Transparent = false
};

Step 5: Convert Chart to Image

chart.ToImage("chart_output.png", options);

Step 6: Save and Verify

これにより、チャートがPNGファイルとして保存されます。JPEG、BMP、TIFFなども選択できます。

Step 7: Optional Enhancements

画像のサイズと品質をさらに制御するには、次のように設定します:

// スケーリングを制御
chart.ToImage("chart_highres.png", new ImageOrPrintOptions
{
    ImageType = ImageType.Jpeg,
    SmoothingMode = SmoothingMode.AntiAlias,
    ChartImageWidth = 1200,
    ChartImageHeight = 800
});

Complete Example Code

using System;
using Aspose.Cells;
using Aspose.Cells.Rendering;
using System.Drawing.Drawing2D;

class Program
{
    static void Main()
    {
        // ワークブックを読み込む
        Workbook workbook = new Workbook("Dashboard.xlsx");

        // ワークシートと最初のチャートにアクセス
        Worksheet sheet = workbook.Worksheets["Charts"];
        Chart chart = sheet.Charts[0];

        // 画像エクスポートオプションを設定
        ImageOrPrintOptions options = new ImageOrPrintOptions
        {
            ImageType = ImageType.Png,
            HorizontalResolution = 300,
            VerticalResolution = 300,
            SmoothingMode = SmoothingMode.AntiAlias,
            ChartImageWidth = 1200,
            ChartImageHeight = 800
        };

        // チャートを画像としてエクスポート
        chart.ToImage("chart_output.png", options);

        Console.WriteLine("チャートが画像として正常にエクスポートされました。");
    }
}

Common Scenarios & Fixes

問題解決策
チャートがぼやけて見えるChartImageWidthChartImageHeight を増やす
画像に明瞭さがないSmoothingMode = AntiAlias を使用する
チャートが切り取られているワークシートの余白またはスケーリング設定を確認する
 日本語