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

ProblemLösung
Bild enthält zusätzliche Zeilen/SpaltenStellen Sie sicher, dass der Druckbereich strikt definiert ist
Bereich nicht richtig zugeschnittenSetzen Sie OnePagePerSheet = true
Unscharfer TextErhöhen Sie die Auflösungseinstellungen
 Deutsch