Cómo convertir un gráfico de Excel a imagen en C#

Cómo convertir un gráfico de Excel a imagen en C#

Los gráficos representan visualmente los datos en los archivos de Excel. Al compartir informes, construir dashboards, o generar documentación, puede necesitar exportar esos gráficos a los archivos de imagen. Este guía muestra cómo convertir un gráfico de Excel en una imagen utilizando Aspose.Cells para .NET.

Por qué convertir gráficos en imágenes?

  • Incorporar datos visuales en sitios web o presentaciones
  • Informes de correo electrónico sin necesidad de visualizadores de Excel
  • Incluir gráficos en PDFs o layouts impresos

Guía paso a paso

Paso 1: Instalar Aspose.Cells para .NET

dotnet add package Aspose.Cells

Paso 2: Cargue el libro de trabajo

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

Paso 3: Seleccione el gráfico

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

Paso 4: Definición de opciones de exportación

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

Paso 5: Convertir gráficos en imágenes

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

Paso 6: Salva y verifica

Esto salva su gráfico como un archivo PNG. También puede elegir JPEG, BMP, TIFF, etc.

Paso 7: Mejoras opcionales

Puedes controlar más el tamaño y la calidad de la imagen mediante la configuración:

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

Código de ejemplo 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.");
    }
}

Escenarios y fiestas comunes

ProblemasSolución
El gráfico aparece blurryAumentar ChartImageWidth y ChartImageHeight
La imagen carece de claridadUso SmoothingMode = AntiAlias
El gráfico está cubiertoVerificar las margen de la hoja de trabajo o las configuraciones de escalado
 Español