Hvordan konvertere en cellerange til bilde i C#

Hvordan konvertere en cellerange til bilde i C#

Trenger du å visuelt ekstrakte en del av et spreadsheet? Eksportere et celleområde til et bilde er nyttig for å generere miniatyrer, forhåndsvisninger eller delvis rapporter. Denne guiden viser hvordan du konverterer et definert cellområde i Excel til en høy kvalitet bilde ved hjelp av Aspose.Cells for .NET .

Bruker tilfeller

  • Eksportpristabeller eller produktkataloger
  • Del en del av et arbeidsblad uten å vise den fulle filen
  • Fanger dynamiske ranger for dashboards eller widgets

Step-by-step guide

Steg 1: Installere Aspose.Cells

dotnet add package Aspose.Cells

Steg 2: Last ned arbeidsboken og arbeidsbladen

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

Trinn 3: Definere omfanget for eksport

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

Steg 4: Konfigurere bilde rendering alternativer

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

Steg 5: Lag en SheetRender og Render Range

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

Steg 6: Eksport Range som bilde

Aspose.Cells har ikke en direkte RangeRender klasse, men du kan fortsatt klippe et bilde ved å fokusere rendering til bare et utvalg:

// 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: Spare og sjekke utgang

Du vil nå ha et rent gravert bilde av det valgte Excel-området.

Komplett eksemplekode

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.");
    }
}

Problemer med tips

IssueSolution
Bildet inneholder ekstra rader / kolonnerSørg for at utskriftsområdet er strengt definert
Range ikke høstet riktigSet OnePagePerSheet = true
Blurry tekstØke resolusjonsinnstillingene
 Norsk