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
Problemas | Solución |
---|---|
La imagen incluye líneas / columnas adicionales | Asegúrese de que el área de impresión está estrictamente definida |
Rango no corregido correctamente | Sitio OnePagePerSheet = true |
El texto de Blurry | Aumentar las configuraciones de resolución |