Hvordan man konverterer en cellerange til et billede i C#

Hvordan man konverterer en cellerange til et billede i C#

Trænger du til visuelt at udveksle en del af et spreadsheet? Eksportere et celleområde til et billede er nyttigt for at generere miniatyrer, forudsigelser eller partielle rapporter. Denne guide viser, hvordan man konverterer et defineret celle område i Excel til en høj kvalitet billede ved hjælp af Aspose.Cells for .NET.

Brug af sager

  • Eksportpristabeller eller produktkataloger
  • Del en del af et worksheet uden at udtrykke den fulde fil
  • Få dynamiske ranger til dashboards eller widgets

Step-by-Step Guide

Trin 1: Installere Aspose.Cells

dotnet add package Aspose.Cells

Trin 2: Lade arbejdsbokken og arbejdsbokken

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

Trin 3: Bestemm omfanget for eksport

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

Trin 4: Konfigurer billedrenderingsmuligheder

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

Trin 5: Skab 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 billede

Aspose.Cells har ikke en direkte RangeRender klasse, men du kan stadig klippe et billede ved at fokusere rendering til kun et udvalgt sortiment:

// 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");

Trin 7: Save og verificere udgangen

Du vil nu have et rent skrubbet billede af det udvalgte Excel-område.

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

Tips til problemløsning

SpørgsmålLøsning
Billedet indeholder ekstra rækker/kolumnerSørg for, at udskrivningsområdet er strengt defineret
Range ikke opkrævet ordentligtSet OnePagePerSheet = true
Blurret tekstForstørrelse af opløsning
 Dansk