Exportar una sola hoja de trabajo de Excel a un formato de imagen como PNG o JPEG es útil para generar previstas, exportar informes formatos y incorporar hojas en páginas web o PDFs. Esta guía muestra cómo convertir una hoja del trabajo desde un libro de obra de excel en imágenes utilizando Aspose.Cells para .NET.

Introducción

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

More in this category