Hur man konverterar en hel Excel-arbetsbok till bild i C#

Hur man konverterar en hel Excel-arbetsbok till bild i C#

Rendering Excel-filer som bilder är avgörande när man bäddar in kalkylblad i webbsidor, dokumentation eller rapporter. Denna artikel visar hur man konverterar en hel Excel-arbetsbok till högkvalitativa bildformat med hjälp av Aspose.Cells for .NET.

Varför konvertera arbetsböcker till bilder?

  • Generera förhandsvisningar för Excel-filer
  • Arkivera kalkylblad i bildformat
  • Bädda in kalkylbladsinnehåll i rapporter eller utskriftsarbetsflöden
  • Visa kalkylblad i appar som inte stödjer inbyggd Excel-visning

Steg-för-steg-implementering

Steg 1: Installera Aspose.Cells for .NET

Lägg till Aspose.Cells i ditt projekt med NuGet:

dotnet add package Aspose.Cells

Steg 2: Ladda Excel-filen

Workbook workbook = new Workbook("Book1.xlsx");

Steg 3: Konfigurera bildalternativ

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

Dessa inställningar styr utdataformat och upplösning. Du kan också konfigurera:

  • Transparent för bakgrund
  • OnlyArea för att utesluta marginaler
  • PrintingPageType för vilket innehåll som ska inkluderas

Steg 4: Rendera arbetsboken

WorkbookRender renderer = new WorkbookRender(workbook, options);

Steg 5: Konvertera varje sida till bild

Loop genom sidorna och exportera var och en:

for (int i = 0; i < renderer.PageCount; i++)
{
    string fileName = $"workbook_page_{i + 1}.png";
    renderer.ToImage(i, fileName);
}

Detta kommer att generera en bild per logisk sida baserat på den aktuella utskriftslayouten.

Steg 6: Spara bilderna

Ovanstående kod sparar redan varje bildfil på disken med det angivna namnet.

// Utdata:
// workbook_page_1.png
// workbook_page_2.png
// ...

Steg 7: Valfria förbättringar

Du kan ytterligare finjustera bildrenderingen:

// Exempel: visa rutnätslinjer
options.ShowGridLines = true;

// Exempel: rendera hela bladets innehåll på en sida
options.AllColumnsInOnePagePerSheet = true;

Bästa praxis

  • Använd hög upplösning (200+ dpi) för utskriftskvalitetsbilder.
  • Aktivera AllColumnsInOnePagePerSheet för breda blad.
  • Kombinera utdata till en PDF eller bildgalleri för presentationer.

Vanliga problem och lösningar

ProblemLösning
Utdata bild är tomSe till att arbetsboken är inläst och innehåller synlig data
Bilden är avskurenStäll in OnePagePerSheet = true eller justera sidskalning
Låg kvalitet på utdataÖka HorizontalResolution och VerticalResolution
 Svenska