Hur man konverterar Excel till miniatyrbild i C#

Hur man konverterar Excel till miniatyrbild i C#

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

Varför använda miniatyrbilder?

  • Skapa förhandsgranskningskort för dokumentgallerier
  • Bygg visuella instrumentpaneler för kalkylbladsrapporter
  • Lägg till lätta visuella element i sök- eller filhanteringsverktyg

Steg-för-steg-guide

Steg 1: Installera Aspose.Cells

dotnet add package Aspose.Cells

Steg 2: Ladda arbetsboken

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

Steg 3: Konfigurera alternativ för rendering av miniatyrbilder

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

Steg 4: Rendera det första kalkylbladet till en bild

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

Steg 5: Ändra storlek på bilden till miniatyrdimensioner (valfritt)

Du kan använda ett grafikbibliotek (t.ex. System.Drawing) för att ändra storlek på 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ätt miniatyrbild som är lämplig för förhandsgranskningar.


Komplett exempel på kod

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

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

        // Konfigurera alternativ för låg upplösning
        ImageOrPrintOptions options = new ImageOrPrintOptions
        {
            ImageType = ImageType.Png,
            HorizontalResolution = 96,
            VerticalResolution = 96,
            OnePagePerSheet = true
        };

        // Rendera hela bladet som en temporär bild
        SheetRender renderer = new SheetRender(sheet, options);
        renderer.ToImage(0, "preview_temp.png");

        // Ändra storlek till miniatyr
        using (Bitmap original = new Bitmap("preview_temp.png"))
        {
            Bitmap thumbnail = new Bitmap(original, new Size(160, 120));
            thumbnail.Save("thumbnail.png");
        }

        Console.WriteLine("Miniatyrbild skapad från Excel-kalkylblad.");
    }
}

Bästa praxis

RekommendationSyfte
Använd OnePagePerSheet = trueFörhindra fler-sidigt uppdelning i bild
Lägre upplösningOptimerar för snabbare miniatyrgenerering
Ändra storlek på bild efter renderingMer kontroll över skalning och kvalitet
 Svenska