Cómo convertir una hoja de cálculo a imagen en C#

Cómo convertir una hoja de cálculo a imagen en C#

Exportación de una sola hoja de trabajo de Excel a un formato de imagen (por ejemplo, PNG, JPEG) es útil cuando se generan previstas, se exporta gráficos o se comparte representaciones visuales de contenido de hoja de trabajo.Este guía le muestra cómo convertir una hoja de trabajo de una hoja de trabajo de Excel a una imagen utilizando Aspose.Cells para .NET.

Casos de uso

  • Generar una previsión de una hoja de trabajo específica
  • Exportación informes formatos para correo electrónico o documentación
  • Incorporar una hoja única en una página web o PDF

Guía paso a paso

Paso 1: Instalar Aspose.Cells para .NET

dotnet add package Aspose.Cells

Paso 2: Cargar el archivo de Excel

Workbook workbook = new Workbook("SalesData.xlsx");
Worksheet sheet = workbook.Worksheets["Q1 Report"]; // Access specific worksheet

Paso 3: Definición de opciones de renderización de imágenes

ImageOrPrintOptions options = new ImageOrPrintOptions
{
    ImageType = ImageType.Png,
    OnePagePerSheet = true,
    HorizontalResolution = 200,
    VerticalResolution = 200,
    PrintingPageType = PrintingPageType.Default
};

Paso 4: Crear un objeto SheetRender

SheetRender renderer = new SheetRender(sheet, options);

Paso 5: Render cada página a una imagen

for (int pageIndex = 0; pageIndex < renderer.PageCount; pageIndex++)
{
    string imageName = $"worksheet_q1_page_{pageIndex + 1}.png";
    renderer.ToImage(pageIndex, imageName);
}

Paso 6: Salva las imágenes

Este código almacenará automáticamente una imagen por página impresible en la hoja de trabajo.

Paso 7: Mejoras opcionales

Puedes aplicar configuraciones adicionales de layout:

// Show gridlines in the output image
options.ShowGridLines = true;

// Fit all content on a single page
options.AllColumnsInOnePagePerSheet = true;

Código de ejemplo completo

using System;
using Aspose.Cells;

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

        // Access a specific worksheet
        Worksheet sheet = workbook.Worksheets["Q1 Report"];

        // Define image rendering options
        ImageOrPrintOptions options = new ImageOrPrintOptions
        {
            ImageType = ImageType.Png,
            OnePagePerSheet = true,
            HorizontalResolution = 200,
            VerticalResolution = 200,
            PrintingPageType = PrintingPageType.Default
        };

        // Enable gridlines if desired
        options.ShowGridLines = true;

        // Render the sheet to image(s)
        SheetRender renderer = new SheetRender(sheet, options);

        for (int pageIndex = 0; pageIndex < renderer.PageCount; pageIndex++)
        {
            string imageName = $"worksheet_q1_page_{pageIndex + 1}.png";
            renderer.ToImage(pageIndex, imageName);
            Console.WriteLine($"Saved: {imageName}");
        }

        Console.WriteLine("Worksheet successfully rendered to image(s).");
    }
}

Escenarios comunes y solución de problemas

ProblemasSolución
Cut-off contenidosUso AllColumnsInOnePagePerSheet = true
La producción es de baja calidadAumentar la resolución de imagen
Las líneas desaparecidasSitio ShowGridLines = true
 Español