Jak przekonwertować Excel na obraz miniatury w C#

Jak przekonwertować Excel na obraz miniatury w C#

Podczas pracy z funkcjami przeglądu dokumentów lub bibliotekami treści, obrazy miniaturowe zapewniają szybką referencję wizualną bez ładowania całego pliku.Tutorial ten pokazuje, jak utworzyć obrazy miniaturowe z plików programu Excel za pomocą Aspose.Cells dla .NET.

Dlaczego używamy tuneli?

  • Tworzenie kart wstępnych dla galerii dokumentów
  • Tworzenie wizualnych tablic sprawozdawczych
  • Dodaj lekkie obrazy do narzędzi wyszukiwania lub zarządzania plikami

Przewodnik krok po kroku

Krok 1: Instalacja Aspose.Cells

dotnet add package Aspose.Cells

Krok 2: Pobierz książkę roboczą

Workbook workbook = new Workbook("FinanceReport.xlsx");
Worksheet sheet = workbook.Worksheets[0];

Krok 3: Konfiguruj opcje renderowania miniatur

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

Krok 4: Wprowadź pierwszą tablicę do obrazu

SheetRender renderer = new SheetRender(sheet, options);
renderer.ToImage(0, "preview_temp.png");

Krok 5: Odtworzenie obrazu do wymiarów miniatur (opcjonalnie)

Możesz użyć biblioteki graficznej (np. System.Drawing), aby odtworzyć obraz:

using System.Drawing;

Bitmap original = new Bitmap("preview_temp.png");
Bitmap thumbnail = new Bitmap(original, new Size(160, 120));
thumbnail.Save("thumbnail.png");

Krok 6: Użyj obrazu Thumbnail

Teraz masz lekką miniaturę odpowiednią dla przeglądów.

Kompletny kod przykładowy

using System;
using System.Drawing;
using Aspose.Cells;
using Aspose.Cells.Rendering;

class Program
{
    static void Main()
    {
        // Load Excel file
        Workbook workbook = new Workbook("FinanceReport.xlsx");
        Worksheet sheet = workbook.Worksheets[0];

        // Configure low-resolution options
        ImageOrPrintOptions options = new ImageOrPrintOptions
        {
            ImageType = ImageType.Png,
            HorizontalResolution = 96,
            VerticalResolution = 96,
            OnePagePerSheet = true
        };

        // Render full sheet as a temporary image
        SheetRender renderer = new SheetRender(sheet, options);
        renderer.ToImage(0, "preview_temp.png");

        // Resize to thumbnail
        using (Bitmap original = new Bitmap("preview_temp.png"))
        {
            Bitmap thumbnail = new Bitmap(original, new Size(160, 120));
            thumbnail.Save("thumbnail.png");
        }

        Console.WriteLine("Thumbnail image created from Excel worksheet.");
    }
}

Najlepsze praktyki

ZaleceniaCelem
Używanie OnePagePerSheet = trueZapobieganie dzieleniu się wielu stron w obrazie
Niższa rozdzielczośćOptymalizacja dla szybszej generacji miniatur
Odtwarzanie obrazu po renderowaniuWięcej kontroli nad skalowaniem i jakością
 Polski