Cómo convertir un rango de celdas a imagen en C#

Cómo convertir un rango de celdas a imagen en C#

Necesita extraer visualmente una porción de una hoja?Exportar una gama de células a una imagen es útil para generar miniaturas, previstas o informes parciales.Este guía muestra cómo convertir una gama de células definida en Excel en una imagen de alta calidad utilizando Aspose.Cells para .NET.

Casos de uso

  • Tablas de precios de exportación o catálogos de productos
  • Compartir parte de una hoja de trabajo sin exponer el archivo completo
  • Capturar rangos dinámicos para dashboards o widgets

Guía paso a paso

Paso 1: Instalar Aspose.Cells

dotnet add package Aspose.Cells

Paso 2: Cargar el libro de trabajo y la hoja de trabajo

Workbook workbook = new Workbook("DataSet.xlsx");
Worksheet worksheet = workbook.Worksheets[0];

Paso 3: Define el rango de exportación

// Specify a range like A1:D10
Range range = worksheet.Cells.CreateRange("A1", "D10");

Paso 4: Configure opciones de renderización de imágenes

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

Paso 5: Crea un SheetRender y Render el Range

// You can use SheetRender with printing bounds if needed
SheetRender renderer = new SheetRender(worksheet, options);

Paso 6: Rango de exportación como imagen

Aspose.Cells no tiene una clase RangeRender directa, pero todavía puede clipar una imagen enfocando el rendimiento a sólo una gama seleccionada:

// Set print area manually for the worksheet
worksheet.PageSetup.PrintArea = "A1:D10";

// Recreate SheetRender with print settings now applied
renderer = new SheetRender(worksheet, options);

// Render and export
renderer.ToImage(0, "range_output.png");

Paso 7: Salva y verifica la salida

Ahora tendrás una imagen limpia de la gama de Excel seleccionada.

Código de ejemplo completo

using System;
using Aspose.Cells;

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

        // Access the first worksheet
        Worksheet worksheet = workbook.Worksheets[0];

        // Define range to export (A1 to D10)
        Range range = worksheet.Cells.CreateRange("A1", "D10");

        // Set the print area to this range
        worksheet.PageSetup.PrintArea = range.RefersTo;

        // Set image export options
        ImageOrPrintOptions options = new ImageOrPrintOptions
        {
            ImageType = ImageType.Png,
            HorizontalResolution = 200,
            VerticalResolution = 200,
            OnePagePerSheet = true
        };

        // Render only the specified range
        SheetRender renderer = new SheetRender(worksheet, options);

        // Export to image
        renderer.ToImage(0, "range_output.png");

        Console.WriteLine("Cell range exported successfully as image.");
    }
}

Tipos de Trastornos

ProblemasSolución
La imagen incluye líneas / columnas adicionalesAsegúrese de que el área de impresión está estrictamente definida
Rango no corregido correctamenteSitio OnePagePerSheet = true
El texto de BlurryAumentar las configuraciones de resolución
 Español