Come convertire un foglio di lavoro in immagine in C#

Come convertire un foglio di lavoro in immagine in C#

Esportare un singolo foglio di lavoro di Excel in un formato immagine (ad es., PNG, JPEG) è utile quando si generano anteprime, si esportano grafici o si condividono rappresentazioni visive in sola lettura del contenuto del foglio di calcolo. Questa guida ti mostra come convertire un foglio di lavoro da un file Excel a un’immagine utilizzando Aspose.Cells per .NET.

Casi d’Uso

  • Generare un’anteprima di un foglio di lavoro specifico
  • Esportare report formattati per email o documentazione
  • Incorporare un singolo foglio in una pagina web o PDF

Guida Passo-Passo

Passo 1: Installa Aspose.Cells per .NET

dotnet add package Aspose.Cells

Passo 2: Carica il File Excel

Workbook workbook = new Workbook("SalesData.xlsx");
Worksheet sheet = workbook.Worksheets["Q1 Report"]; // Accedi a un foglio di lavoro specifico

Passo 3: Definisci le Opzioni di Rendering dell’Immagine

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

Passo 4: Crea l’Oggetto SheetRender

SheetRender renderer = new SheetRender(sheet, options);

Passo 5: Renderizza Ogni Pagina in un’Immagine

for (int pageIndex = 0; pageIndex < renderer.PageCount; pageIndex++)
{
    string imageName = $"worksheet_q1_page_{pageIndex + 1}.png";
    renderer.ToImage(pageIndex, imageName);
}

Passo 6: Salva le Immagini

Questo codice salva automaticamente un’immagine per ogni pagina stampabile nel foglio di lavoro.

Passo 7: Miglioramenti Facoltativi

Puoi applicare ulteriori impostazioni di layout:

// Mostra le linee della griglia nell'immagine di output
options.ShowGridLines = true;

// Adatta tutto il contenuto su un'unica pagina
options.AllColumnsInOnePagePerSheet = true;

Codice Esempio Completo

using System;
using Aspose.Cells;

class Program
{
    static void Main()
    {
        // Carica il file Excel
        Workbook workbook = new Workbook("SalesData.xlsx");

        // Accedi a un foglio di lavoro specifico
        Worksheet sheet = workbook.Worksheets["Q1 Report"];

        // Definisci le opzioni di rendering dell'immagine
        ImageOrPrintOptions options = new ImageOrPrintOptions
        {
            ImageType = ImageType.Png,
            OnePagePerSheet = true,
            HorizontalResolution = 200,
            VerticalResolution = 200,
            PrintingPageType = PrintingPageType.Default
        };

        // Abilita le linee della griglia se desiderato
        options.ShowGridLines = true;

        // Renderizza il foglio in immagine(i)
        SheetRender renderer = new SheetRender(sheet, options);

        for (int pageIndex = 0; pageIndex < renderer.PageCount; pageIndex++)
        {
            string imageName = $"worksheet_q1_page_{pageIndex + 1}.png";
            renderer.ToImage(pageIndex, imageName);
            Console.WriteLine($"Salvato: {imageName}");
        }

        Console.WriteLine("Foglio di lavoro renderizzato con successo in immagine(i).");
    }
}

Scenari Comuni e Risoluzione dei Problemi

ProblemaSoluzione
Contenuto tagliatoUsa AllColumnsInOnePagePerSheet = true
Output di bassa qualitàAumenta la risoluzione dell’immagine
Linee della griglia mancantiImposta ShowGridLines = true
 Italiano