Hoe om te zetten een cellenrange in een afbeelding in C#
Hoe om te zetten een cellenrange in een afbeelding in C#
Moet u een gedeelte van een spreadsheet visueel extraheren?Exporteren van een celruimte naar een afbeelding is nuttig voor het genereren van thumbnails, voorbeelden of gedeeltelijke rapporten.Deze gids toont hoe u een gedefinieerde celruimte in Excel kunt converteren naar een hoogwaardige afbeelding met behulp van Aspose.Cells voor .NET.
Gebruik Cases
- Exporttarieven of productkatalogen
- Deel een deel van een werkblad zonder het volledige bestand uit te leggen
- Opname van dynamische randen voor dashboards of widgets
Step-by-step gids
Stap 1: Installeer Aspose.Cells
dotnet add package Aspose.Cells
Stap 2: Laden van het werkboek en het werkblad
Workbook workbook = new Workbook("DataSet.xlsx");
Worksheet worksheet = workbook.Worksheets[0];
Stap 3: Definieer de omvang voor export
// Specify a range like A1:D10
Range range = worksheet.Cells.CreateRange("A1", "D10");
Stap 4: Configure Image Rendering Opties
ImageOrPrintOptions options = new ImageOrPrintOptions
{
ImageType = ImageType.Png,
HorizontalResolution = 200,
VerticalResolution = 200,
OnePagePerSheet = true
};
Stap 5: Maak een SheetRender en Render de Range
// You can use SheetRender with printing bounds if needed
SheetRender renderer = new SheetRender(worksheet, options);
Stap 6: Export Range als afbeelding
Aspose.Cells heeft geen directe RangeRender-klasse, maar je kunt nog steeds een afbeelding klippen door de rendering te richten op slechts een geselecteerd bereik:
// 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");
Stap 7: Save and Verify Output
U krijgt nu een schone gekruurde afbeelding van het geselecteerde Excel-bereik.
Volledige voorbeeldcode
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.");
}
}
Troubleshooting tips
kwestie | oplossingen |
---|---|
Afbeelding bevat extra rijen / kolommen | Zorg ervoor dat het drukgebied strikt gedefinieerd is |
Range niet goed gekruisigd | Set OnePagePerSheet = true |
Blurry tekst | Verhoogde resolutie |