Hur man konverterar ett kalkylblad till bild i C#

Hur man konverterar ett kalkylblad till bild i C#

Exportera ett enskilt Excel-ark till ett bildformat (t.ex. PNG, JPEG) är användbart när man genererar förhandsvisningar, exporterar diagram eller delar skrivskyddade visuella representationer av kalkylbladsinnehåll. Denna guide visar hur du konverterar ett ark från en Excel-arbetsbok till en bild med Aspose.Cells för .NET.

Användningsfall

  • Generera en förhandsvisning av ett specifikt ark
  • Exportera formaterade rapporter för e-post eller dokumentation
  • Bädda in ett enskilt ark i en webbsida eller PDF

Steg-för-steg-guide

Steg 1: Installera Aspose.Cells för .NET

dotnet add package Aspose.Cells

Steg 2: Ladda Excel-filen

Workbook workbook = new Workbook("SalesData.xlsx");
Worksheet sheet = workbook.Worksheets["Q1 Report"]; // Åtkomst till specifikt ark

Steg 3: Definiera bildrenderingsalternativ

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

Steg 4: Skapa SheetRender-objekt

SheetRender renderer = new SheetRender(sheet, options);

Steg 5: Rendera varje sida till en bild

for (int pageIndex = 0; pageIndex < renderer.PageCount; pageIndex++)
{
    string imageName = $"worksheet_q1_page_{pageIndex + 1}.png";
    renderer.ToImage(pageIndex, imageName);
}

Steg 6: Spara bilderna

Denna kod sparar automatiskt en bild per utskriftsbar sida i arket.

Steg 7: Valfria förbättringar

Du kan tillämpa ytterligare layoutinställningar:

// Visa rutnätlinjer i utdata bilden
options.ShowGridLines = true;

// Anpassa allt innehåll på en enda sida
options.AllColumnsInOnePagePerSheet = true;

Komplett exempel på kod

using System;
using Aspose.Cells;

class Program
{
    static void Main()
    {
        // Ladda Excel-arbetsboken
        Workbook workbook = new Workbook("SalesData.xlsx");

        // Åtkomst till ett specifikt ark
        Worksheet sheet = workbook.Worksheets["Q1 Report"];

        // Definiera bildrenderingsalternativ
        ImageOrPrintOptions options = new ImageOrPrintOptions
        {
            ImageType = ImageType.Png,
            OnePagePerSheet = true,
            HorizontalResolution = 200,
            VerticalResolution = 200,
            PrintingPageType = PrintingPageType.Default
        };

        // Aktivera rutnätlinjer om så önskas
        options.ShowGridLines = true;

        // Rendera arket till bild(er)
        SheetRender renderer = new SheetRender(sheet, options);

        for (int pageIndex = 0; pageIndex < renderer.PageCount; pageIndex++)
        {
            string imageName = $"worksheet_q1_page_{pageIndex + 1}.png";
            renderer.ToImage(pageIndex, imageName);
            Console.WriteLine($"Sparad: {imageName}");
        }

        Console.WriteLine("Arket har framgångsrikt renderats till bild(er).");
    }
}

Vanliga scenarier och felsökning

ProblemLösning
Avskuret innehållAnvänd AllColumnsInOnePagePerSheet = true
Utdata är låg kvalitetÖka bildupplösningen
Rutnätlinjer saknasStäll in ShowGridLines = true
 Svenska