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
Rekommendation | Syfte |
---|---|
Använd OnePagePerSheet = true | Förhindra fler-sidigt uppdelning i bild |
Lägre upplösning | Optimerar för snabbare miniatyrgenerering |
Ändra storlek på bild efter rendering | Mer kontroll över skalning och kvalitet |