Come convertire un intervallo di celle in un'immagine in C#

Come convertire un intervallo di celle in un'immagine in C#

È necessario estrarre visualmente una porzione di una scheda di diffusione?L’esportazione di una gamma di cellule in un’immagine è utile per generare miniature, previsioni o rapporti parziali.Questo manuale mostra come convertire una gamma di cellule definita in Excel in un’immagine di alta qualità utilizzando Aspose.Cells per .NET.

Casi d’uso

  • I prezzi delle esportazioni o i cataloghi dei prodotti
  • Condividi una parte di un foglio di lavoro senza mostrare il file completo
  • Cattura delle ranghe dinamiche per dashboard o widget

Guida passo dopo passo

Passo 1: Installare Aspose.Cells

dotnet add package Aspose.Cells

Passo 2: Carica il libro di lavoro e la scheda di lavoro

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

Passo 3: Definisci il margine di esportazione

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

Passo 4: Configurare le opzioni di rendering immagine

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

Passo 5: Crea un SheetRender e Render la Range

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

Passo 6: Range di esportazione come immagine

Aspose.Cells non ha una classe diretta RangeRender, ma è ancora possibile riprodurre un’immagine concentrando il rendering su solo una gamma selezionata:

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

Passo 7: Salva e verifica il risultato

Ora avrai un’immagine crollata pulita della gamma selezionata di Excel.

Codice esemplare completo

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

Tipi di risoluzione dei problemi

Il problemaLa soluzione
Le immagini includono ulteriori righe/colonneAssicurarsi che la zona di stampa sia strettamente definita
Rango non correttamente raccoltoSet OnePagePerSheet = true
Il testo di BlurryAumentare le modalità di risoluzione
 Italiano