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 datos en archivos de Excel. Al compartir informes, construir paneles de control o generar documentación, es posible que necesite exportar esos gráficos a archivos de imagen. Esta guía muestra cómo convertir un gráfico de Excel a una imagen utilizando Aspose.Cells para .NET.

¿Por qué convertir gráficos a imágenes?

  • Incrustar datos visuales en sitios web o presentaciones
  • Enviar informes por correo electrónico sin necesidad de visores de Excel
  • Incluir gráficos en PDFs o diseños para impresión

Guía Paso a Paso

Paso 1: Instalar Aspose.Cells para .NET

dotnet add package Aspose.Cells

Paso 2: Cargar el Libro de Trabajo

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

Paso 3: Seleccionar el Gráfico

// Acceder al primer gráfico en la hoja de trabajo
Chart chart = sheet.Charts[0];

Paso 4: Configurar Opciones de Exportación

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

Paso 5: Convertir Gráfico a Imagen

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

Paso 6: Guardar y Verificar

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

Paso 7: Mejoras Opcionales

Puede controlar aún más el tamaño y la calidad de la imagen configurando:

// Controlar escalado
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()
    {
        // Cargar el libro de trabajo
        Workbook workbook = new Workbook("Dashboard.xlsx");

        // Acceder a la hoja de trabajo y al primer gráfico
        Worksheet sheet = workbook.Worksheets["Charts"];
        Chart chart = sheet.Charts[0];

        // Configurar opciones de exportación de imagen
        ImageOrPrintOptions options = new ImageOrPrintOptions
        {
            ImageType = ImageType.Png,
            HorizontalResolution = 300,
            VerticalResolution = 300,
            SmoothingMode = SmoothingMode.AntiAlias,
            ChartImageWidth = 1200,
            ChartImageHeight = 800
        };

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

        Console.WriteLine("Gráfico exportado exitosamente como imagen.");
    }
}

Escenarios Comunes y Soluciones

ProblemaSolución
El gráfico aparece borrosoAumentar ChartImageWidth y ChartImageHeight
La imagen carece de claridadUsar SmoothingMode = AntiAlias
El gráfico está recortadoVerificar los márgenes de la hoja de trabajo o la configuración de escalado
 Español