Hur man konverterar ett cellområde till bild i C#

Hur man konverterar ett cellområde till bild i C#

Behöver du visuellt extrahera en del av ett kalkylblad? Att exportera ett cellområde till en bild är användbart för att generera miniatyrbilder, förhandsvisningar eller delrapporter. Denna guide visar hur man konverterar ett definierat cellområde i Excel till en högkvalitativ bild med hjälp av Aspose.Cells för .NET.

Användningsområden

  • Exportera prissättnings tabeller eller produktkataloger
  • Dela en del av ett kalkylblad utan att exponera hela filen
  • Fånga dynamiska områden för instrumentpaneler eller widgets

Steg-för-steg-guide

Steg 1: Installera Aspose.Cells

dotnet add package Aspose.Cells

Steg 2: Ladda arbetsboken och kalkylbladet

Workbook workbook = new Workbook("DataSet.xlsx");
Worksheet worksheet = workbook.Worksheets[0];

Steg 3: Definiera området att exportera

// Specificera ett område som A1:D10
Range range = worksheet.Cells.CreateRange("A1", "D10");

Steg 4: Konfigurera bildrenderingsalternativ

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

Steg 5: Skapa en SheetRender och rendera området

// Du kan använda SheetRender med utskriftsgränser om det behövs
SheetRender renderer = new SheetRender(worksheet, options);

Steg 6: Exportera området som bild

Aspose.Cells har ingen direkt RangeRender-klass, men du kan fortfarande klippa en bild genom att fokusera rendering på just ett valt område:

// Ställ in utskriftsområdet manuellt för kalkylbladet
worksheet.PageSetup.PrintArea = "A1:D10";

// Återskapa SheetRender med utskriftsinställningar som nu tillämpats
renderer = new SheetRender(worksheet, options);

// Rendera och exportera
renderer.ToImage(0, "range_output.png");

Steg 7: Spara och verifiera utdata

Du kommer nu att ha en ren beskuren bild av det valda Excel-området.


Komplett exempel på kod

using System;
using Aspose.Cells;

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

        // Åtkomst till det första kalkylbladet
        Worksheet worksheet = workbook.Worksheets[0];

        // Definiera område att exportera (A1 till D10)
        Range range = worksheet.Cells.CreateRange("A1", "D10");

        // Ställ in utskriftsområdet till detta område
        worksheet.PageSetup.PrintArea = range.RefersTo;

        // Ställ in bildexportalternativ
        ImageOrPrintOptions options = new ImageOrPrintOptions
        {
            ImageType = ImageType.Png,
            HorizontalResolution = 200,
            VerticalResolution = 200,
            OnePagePerSheet = true
        };

        // Rendera endast det angivna området
        SheetRender renderer = new SheetRender(worksheet, options);

        // Exportera till bild
        renderer.ToImage(0, "range_output.png");

        Console.WriteLine("Cellområdet exporterades framgångsrikt som bild.");
    }
}

Felsökningstips

ProblemLösning
Bilden inkluderar extra rader/kolumnerSe till att utskriftsområdet är strikt definierat
Området beskars inte korrektStäll in OnePagePerSheet = true
Otydlig textÖka upplösningsinställningarna
 Svenska