Hur man konverterar Excel till miniatyrbild i C#

Hur man konverterar Excel till miniatyrbild i C#

När du arbetar med dokumentpreview-funktioner eller innehållsbibliotek ger miniatyrbilder en snabb visuell referens utan att ladda hela filen.Denna tutorial visar hur man skapar miniatyrbilder från Excel-filer med Aspose.Cells för .NET.

Varför använda Thumbnails?

  • Skapa förhandskort för dokumentgallerier
  • Bygg visuella dashboards av spreadsheet rapporter
  • Lägg till lätta visualer till sök- eller filhanteringsverktyg

Steg för steg guide

Steg 1: Installera Aspose.Cells

dotnet add package Aspose.Cells

Steg 2: Ladda upp arbetsboken

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

Steg 3: Konfigurera Thumbnail Rendering-alternativ

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

Steg 4: Renderar den första arbetsbladen till en bild

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

Steg 5: Återställa bild till miniatyrdimensioner (alternativt)

Du kan använda en grafikbibliotek (t.ex. System.Drawing) för att återskapa bilden:

using System.Drawing;

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

Steg 6: Använd miniatyrbilden

Nu har du en lättviktig miniatyr lämplig för förhandsgranskningar.

Komplett Exempelkod

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

Bästa praxis

Rekommendationsyftet
Användning OnePagePerSheet = trueFörhindra att flera sidor splittras i bild
Lägre resolutionOptimal för snabbare miniatyrgeneration
Återställa bilden efter renderingMer kontroll över skalning och kvalitet
 Svenska