So konvertieren Sie einen Zellbereich in ein Bild in C#
So konvertieren Sie einen Zellbereich in ein Bild in C#
Brauchen Sie eine visuelle Extraktion eines Teils einer Tabelle? Das Exportieren eines Zellbereichs in ein Bild ist nützlich, um Thumbnails, Vorschauen oder Teilberichte zu erstellen. Diese Anleitung zeigt, wie man einen definierten Zellbereich in Excel mit Aspose.Cells für .NET in ein hochwertiges Bild umwandelt.
Anwendungsfälle
- Preislisten oder Produktkataloge exportieren
- Teile eines Arbeitsblatts teilen, ohne die gesamte Datei offenzulegen
- Dynamische Bereiche für Dashboards oder Widgets erfassen
Schritt-für-Schritt-Anleitung
Schritt 1: Aspose.Cells installieren
dotnet add package Aspose.Cells
Schritt 2: Die Arbeitsmappe und das Arbeitsblatt laden
Workbook workbook = new Workbook("DataSet.xlsx");
Worksheet worksheet = workbook.Worksheets[0];
Schritt 3: Den zu exportierenden Bereich definieren
// Einen Bereich wie A1:D10 angeben
Range range = worksheet.Cells.CreateRange("A1", "D10");
Schritt 4: Bildrendering-Optionen konfigurieren
ImageOrPrintOptions options = new ImageOrPrintOptions
{
ImageType = ImageType.Png,
HorizontalResolution = 200,
VerticalResolution = 200,
OnePagePerSheet = true
};
Schritt 5: Ein SheetRender erstellen und den Bereich rendern
// Sie können SheetRender mit Druckgrenzen verwenden, wenn nötig
SheetRender renderer = new SheetRender(worksheet, options);
Schritt 6: Bereich als Bild exportieren
Aspose.Cells hat keine direkte RangeRender-Klasse, aber Sie können dennoch ein Bild zuschneiden, indem Sie das Rendering auf einen ausgewählten Bereich konzentrieren:
// Druckbereich manuell für das Arbeitsblatt festlegen
worksheet.PageSetup.PrintArea = "A1:D10";
// SheetRender mit jetzt angewendeten Druckeinstellungen neu erstellen
renderer = new SheetRender(worksheet, options);
// Rendern und exportieren
renderer.ToImage(0, "range_output.png");
Schritt 7: Ausgabe speichern und überprüfen
Sie haben jetzt ein sauber zugeschnittenes Bild des ausgewählten Excel-Bereichs.
Vollständiger Beispielcode
using System;
using Aspose.Cells;
class Program
{
static void Main()
{
// Arbeitsmappe laden
Workbook workbook = new Workbook("DataSet.xlsx");
// Auf das erste Arbeitsblatt zugreifen
Worksheet worksheet = workbook.Worksheets[0];
// Zu exportierenden Bereich definieren (A1 bis D10)
Range range = worksheet.Cells.CreateRange("A1", "D10");
// Den Druckbereich auf diesen Bereich festlegen
worksheet.PageSetup.PrintArea = range.RefersTo;
// Bildexportoptionen festlegen
ImageOrPrintOptions options = new ImageOrPrintOptions
{
ImageType = ImageType.Png,
HorizontalResolution = 200,
VerticalResolution = 200,
OnePagePerSheet = true
};
// Nur den angegebenen Bereich rendern
SheetRender renderer = new SheetRender(worksheet, options);
// In Bild exportieren
renderer.ToImage(0, "range_output.png");
Console.WriteLine("Zellbereich erfolgreich als Bild exportiert.");
}
}
Tipps zur Fehlersuche
Problem | Lösung |
---|---|
Bild enthält zusätzliche Zeilen/Spalten | Stellen Sie sicher, dass der Druckbereich strikt definiert ist |
Bereich nicht richtig zugeschnitten | Setzen Sie OnePagePerSheet = true |
Unscharfer Text | Erhöhen Sie die Auflösungseinstellungen |