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 en spreadsheet? Exportera ett cellområde till en bild är användbart för att generera miniatyrer, förhandsvisningar eller partiella rapporter. Denna guide visar hur man konverterar ett definierat cellområde i Excel till en högkvalitativ bild med Aspose.Cells för .NET.

Användningsfall

  • Exportpristabeller eller produktkataloger
  • Dela en del av ett arbetsblad utan att visa den fullständiga filen
  • Fånga dynamiska rader för dashboards eller widgets

Steg för steg guide

Steg 1: Installera Aspose.Cells

dotnet add package Aspose.Cells

Steg 2: Ladda upp arbetsboken och arbetsboken

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

Steg 3: Definiera gränsen för export

// Specify a range like A1:D10
Range range = worksheet.Cells.CreateRange("A1", "D10");

Steg 4: Konfigurera bild renderingsalternativ

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

Steg 5: Skapa en SheetRender och Render the Range

// You can use SheetRender with printing bounds if needed
SheetRender renderer = new SheetRender(worksheet, options);

Steg 6: Export Range som bild

Aspose.Cells har inte en direkt RangeRender-klass, men du kan fortfarande klippa en bild genom att fokusera på rendering till bara ett valt intervall:

// Set print area manually for the worksheet
worksheet.PageSetup.PrintArea = "A1:D10";

// Recreate SheetRender with print settings now applied
renderer = new SheetRender(worksheet, options);

// Render and export
renderer.ToImage(0, "range_output.png");

Steg 7: Spara och verifiera utgången

Du kommer nu att ha en ren grädd bild av det valda Excel-fältet.

Komplett Exempelkod

using System;
using Aspose.Cells;

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

        // Access the first worksheet
        Worksheet worksheet = workbook.Worksheets[0];

        // Define range to export (A1 to D10)
        Range range = worksheet.Cells.CreateRange("A1", "D10");

        // Set the print area to this range
        worksheet.PageSetup.PrintArea = range.RefersTo;

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

        // Render only the specified range
        SheetRender renderer = new SheetRender(worksheet, options);

        // Export to image
        renderer.ToImage(0, "range_output.png");

        Console.WriteLine("Cell range exported successfully as image.");
    }
}

Problemlösning tips

fråganLösning
Bilden innehåller extra rader/kolumnerSe till att tryckområdet är strikt definierat
Gränsen inte korrigerad ordentligtSätt OnePagePerSheet = true
Blurry textÖka resolutionsinställningarna
 Svenska