Com convertir una gamma de cèl·lules en imatge en C#
Com convertir una gamma de cèl·lules en imatge en C#
Exportació d’una gamma de cèl·lules a una imatge és útil per a la generació de miniatures, previstes o informes parcials. Aquesta guia mostra com convertir una gamma definida en Excel en un imatge de qualitat utilitzant Aspose.Cells per .NET.
Utilitza els casos
- Taules de preus d’exportació o catàlegs de productes
- Compartir una part d’una taula de treball sense exposar el fitxer complet
- Capturar rangs dinàmiques per a dashboards o widgets
Guia de pas a pas
Pas 1: Instal·lar Aspose.Cells
dotnet add package Aspose.Cells
Pas 2: Carregar el llibre de treball i la taula de treball
Workbook workbook = new Workbook("DataSet.xlsx");
Worksheet worksheet = workbook.Worksheets[0];
Pas 3: Definició de l’àmbit d’exportació
// Specify a range like A1:D10
Range range = worksheet.Cells.CreateRange("A1", "D10");
Pas 4: Configuració d’opcions de rendiment d’imatge
ImageOrPrintOptions options = new ImageOrPrintOptions
{
ImageType = ImageType.Png,
HorizontalResolution = 200,
VerticalResolution = 200,
OnePagePerSheet = true
};
Pas 5: Crear un SheetRender i Render el rang
// You can use SheetRender with printing bounds if needed
SheetRender renderer = new SheetRender(worksheet, options);
Pas 6: Range d’exportació com a imatge
Aspose.Cells no té una classe RangeRender directa, però encara es pot clipar una imatge concentrant el rendiment a només una gamma 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");
Pas 7: Salvar i comprovar la sortida
Ara tindràs una imatge crupada neta de la gamma seleccionada d’Excel.
Codi d’exemple complet
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.");
}
}
Tipus de solució de problemes
qüestió | Solució |
---|---|
Imatge inclou runes / columnes addicionals | Assegureu-vos que l’àrea d’impressió està estrictament definida |
L’àrea no recorreguda correctament | Set OnePagePerSheet = true |
El text de Blurry | Augmentar la resolució |