Jak przekonwertować zakres komórek na obraz w C#

Jak przekonwertować zakres komórek na obraz w C#

Eksportowanie zakresu komórek do obrazu jest przydatne do generowania miniatur, przeglądów lub częściowych raportów.Ten przewodnik pokazuje, jak przekształcić określony zakres komórek w programie Excel w wysokiej jakości obraz za pomocą Aspose.Cells dla .NET.

Przykłady użycia

  • Tabele cenowe eksportu lub katalogi produktów
  • Podziel się częścią arkusza roboczego bez wyświetlania pełnego pliku
  • Zatrzymaj dynamiczne rzędy dla paneli lub widgetów

Przewodnik krok po kroku

Krok 1: Instalacja Aspose.Cells

dotnet add package Aspose.Cells

Krok 2: Pobierz książkę roboczą i arkusz roboczy

Workbook workbook = new Workbook("DataSet.xlsx");
Worksheet worksheet = workbook.Worksheets[0];

Krok 3: Określ zakres eksportu

// Specify a range like A1:D10
Range range = worksheet.Cells.CreateRange("A1", "D10");

Krok 4: Konfiguruj opcje renderowania obrazu

ImageOrPrintOptions options = new ImageOrPrintOptions
{
    ImageType = ImageType.Png,
    HorizontalResolution = 200,
    VerticalResolution = 200,
    OnePagePerSheet = true
};

Krok 5: Tworzenie SheetRender i Render Range

// You can use SheetRender with printing bounds if needed
SheetRender renderer = new SheetRender(worksheet, options);

Krok 6: Export Range jako obraz

Aspose.Cells nie ma bezpośredniej klasy RangeRender, ale nadal można pobrać obraz, koncentrując się na renderowaniu do wybranego zakresu:

// 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");

Krok 7: Zapisz i sprawdź wynik

Teraz będziesz miał czyste zgromadzone zdjęcie wybranego zakresu programu Excel.

Kompletny kod przykładowy

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.");
    }
}

Porady rozwiązywania problemów

kwestiaRozwiązanie
Zdjęcie zawiera dodatkowe rzędy / kolumnyUpewnij się, że obszar drukowania jest ściśle zdefiniowany
Różnica nie jest prawidłowo wykopanaSet OnePagePerSheet = true
Blurry tekstWzrost rozdzielczości
 Polski