Como Converter um Gráfico do Excel em Imagem em C#

Como Converter um Gráfico do Excel em Imagem em C#

Os gráficos representam visualmente os dados em arquivos do Excel. Ao compartilhar relatórios, construir painéis ou gerar documentação, você pode precisar exportar esses gráficos para arquivos de imagem. Este guia mostra como converter um gráfico do Excel para uma imagem usando Aspose.Cells para .NET.

Por que converter gráficos em imagens?

  • Incorporar dados visuais em sites ou apresentações
  • Relatórios de e-mail sem necessidade de visualizadores do Excel
  • Incluir gráficos em PDFs ou layouts de impressão

Guia passo a passo

Passo 1: Instalar Aspose.Cells para .NET

dotnet add package Aspose.Cells

Passo 2: Carregue o livro de trabalho

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

Passo 3: Selecione o gráfico

// Access the first chart on the worksheet
Chart chart = sheet.Charts[0];

Passo 4: Configurar opções de exportação

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

Passo 5: Converter um gráfico em imagem

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

Passo 6: Guarde e Verifique

Isso salva o seu gráfico como um arquivo PNG. Você também pode escolher JPEG, BMP, TIFF, etc.

Passo 7: Melhorias opcionais

Você pode controlar o tamanho e a qualidade da imagem adicionalmente, configurando:

// Control scaling
chart.ToImage("chart_highres.png", new ImageOrPrintOptions
{
    ImageType = ImageType.Jpeg,
    SmoothingMode = SmoothingMode.AntiAlias,
    ChartImageWidth = 1200,
    ChartImageHeight = 800
});

Código de Exemplo Completo

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

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

        // Access the worksheet and first chart
        Worksheet sheet = workbook.Worksheets["Charts"];
        Chart chart = sheet.Charts[0];

        // Set image export options
        ImageOrPrintOptions options = new ImageOrPrintOptions
        {
            ImageType = ImageType.Png,
            HorizontalResolution = 300,
            VerticalResolution = 300,
            SmoothingMode = SmoothingMode.AntiAlias,
            ChartImageWidth = 1200,
            ChartImageHeight = 800
        };

        // Export chart to image
        chart.ToImage("chart_output.png", options);

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

Escenários e Fixes Comuns

QuestãoSolução
O gráfico aparece blurryAumento ChartImageWidth e ChartImageHeight
A imagem não tem clarezaUtilização SmoothingMode = AntiAlias
O gráfico é clipadoVerifique as margens da folha de trabalho ou as configurações de escalagem
 Português