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

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

Gráficos representam visualmente 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 em uma imagem usando Aspose.Cells para .NET.

Por que Converter Gráficos em Imagens?

  • Incorporar dados visuais em sites ou apresentações
  • Enviar relatórios por e-mail sem precisar 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: Carregar a Pasta de Trabalho

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

Passo 3: Selecionar o Gráfico

// Acessar o primeiro gráfico na planilha
Chart chart = sheet.Charts[0];

Passo 4: Definir Opções de Exportação

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

Passo 5: Converter Gráfico em Imagem

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

Passo 6: Salvar e Verificar

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

Passo 7: Melhorias Opcionais

Você pode controlar ainda mais o tamanho e a qualidade da imagem definindo:

// Controlar escalonamento
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()
    {
        // Carregar a pasta de trabalho
        Workbook workbook = new Workbook("Dashboard.xlsx");

        // Acessar a planilha e o primeiro gráfico
        Worksheet sheet = workbook.Worksheets["Charts"];
        Chart chart = sheet.Charts[0];

        // Definir opções de exportação de imagem
        ImageOrPrintOptions options = new ImageOrPrintOptions
        {
            ImageType = ImageType.Png,
            HorizontalResolution = 300,
            VerticalResolution = 300,
            SmoothingMode = SmoothingMode.AntiAlias,
            ChartImageWidth = 1200,
            ChartImageHeight = 800
        };

        // Exportar gráfico para imagem
        chart.ToImage("chart_output.png", options);

        Console.WriteLine("Gráfico exportado com sucesso como imagem.");
    }
}

Cenários Comuns & Soluções

ProblemaSolução
O gráfico aparece embaçadoAumente ChartImageWidth e ChartImageHeight
A imagem falta clarezaUse SmoothingMode = AntiAlias
O gráfico está cortadoVerifique as margens da planilha ou as configurações de escalonamento
 Português