Come convertire Excel in immagine in miniatura in C#

Come convertire Excel in immagine in miniatura in C#

Quando si lavora con le funzionalità di anteprima dei documenti o le librerie di contenuti, le immagini in miniatura forniscono un rapido riferimento visivo senza caricare l’intero file. Questo tutorial dimostra come creare immagini in miniatura da file Excel utilizzando Aspose.Cells per .NET.

Perché Usare le Miniature?

  • Crea schede di anteprima per gallerie di documenti
  • Costruisci dashboard visive di report di fogli di calcolo
  • Aggiungi elementi visivi leggeri a strumenti di ricerca o gestione dei file

Guida Passo-Passo

Passo 1: Installa Aspose.Cells

dotnet add package Aspose.Cells

Passo 2: Carica il Workbook

Workbook workbook = new Workbook("FinanceReport.xlsx");
Worksheet sheet = workbook.Worksheets[0];

Passo 3: Configura le Opzioni di Rendering delle Miniature

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

Passo 4: Rendi il Primo Foglio di Lavoro in un’Immagine

SheetRender renderer = new SheetRender(sheet, options);
renderer.ToImage(0, "preview_temp.png");

Passo 5: Ridimensiona l’Immagine alle Dimensioni della Miniatura (Opzionale)

Puoi utilizzare una libreria grafica (ad es., System.Drawing) per ridimensionare l’immagine:

using System.Drawing;

Bitmap original = new Bitmap("preview_temp.png");
Bitmap thumbnail = new Bitmap(original, new Size(160, 120));
thumbnail.Save("thumbnail.png");

Passo 6: Usa l’Immagine in Miniatura

Ora hai una miniatura leggera adatta per le anteprime.


Codice Esempio Completo

using System;
using System.Drawing;
using Aspose.Cells;
using Aspose.Cells.Rendering;

class Program
{
    static void Main()
    {
        // Carica il file Excel
        Workbook workbook = new Workbook("FinanceReport.xlsx");
        Worksheet sheet = workbook.Worksheets[0];

        // Configura le opzioni a bassa risoluzione
        ImageOrPrintOptions options = new ImageOrPrintOptions
        {
            ImageType = ImageType.Png,
            HorizontalResolution = 96,
            VerticalResolution = 96,
            OnePagePerSheet = true
        };

        // Rendi l'intero foglio come un'immagine temporanea
        SheetRender renderer = new SheetRender(sheet, options);
        renderer.ToImage(0, "preview_temp.png");

        // Ridimensiona a miniatura
        using (Bitmap original = new Bitmap("preview_temp.png"))
        {
            Bitmap thumbnail = new Bitmap(original, new Size(160, 120));
            thumbnail.Save("thumbnail.png");
        }

        Console.WriteLine("Immagine in miniatura creata dal foglio di lavoro Excel.");
    }
}

Migliori Pratiche

RaccomandazioneScopo
Usa OnePagePerSheet = truePreviene la divisione in più pagine nell’immagine
Risoluzione inferioreOttimizza per una generazione più rapida delle miniature
Ridimensiona l’immagine dopo il renderingMaggiore controllo su scaling e qualità
 Italiano