Come convertire un'intera cartella di lavoro Excel in immagine in C#

Come convertire un'intera cartella di lavoro Excel in immagine in C#

Rendering di file Excel come immagini è essenziale quando si integrano fogli di calcolo in pagine web, documentazione o report. Questo articolo dimostra come convertire un intero workbook Excel in formati immagine di alta qualità utilizzando Aspose.Cells per .NET.

Perché Convertire i Workbook in Immagini?

  • Generare anteprime per file Excel
  • Archiviare fogli di calcolo in formati immagine
  • Integrare contenuti di fogli di calcolo in report o flussi di lavoro di stampa
  • Visualizzare fogli di calcolo in app che non supportano la visualizzazione nativa di Excel

Implementazione Passo dopo Passo

Passo 1: Installare Aspose.Cells per .NET

Aggiungi Aspose.Cells al tuo progetto utilizzando NuGet:

dotnet add package Aspose.Cells

Passo 2: Caricare il File Excel

Workbook workbook = new Workbook("Book1.xlsx");

Passo 3: Configurare le Opzioni Immagine

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

Queste impostazioni controllano il formato e la risoluzione di output. Puoi anche configurare:

  • Transparent per lo sfondo
  • OnlyArea per escludere i margini
  • PrintingPageType per quale contenuto includere

Passo 4: Rendere il Workbook

WorkbookRender renderer = new WorkbookRender(workbook, options);

Passo 5: Convertire Ogni Pagina in Immagine

Ciclo attraverso le pagine ed esporta ciascuna:

for (int i = 0; i < renderer.PageCount; i++)
{
    string fileName = $"workbook_page_{i + 1}.png";
    renderer.ToImage(i, fileName);
}

Questo genererà un’immagine per ogni pagina logica basata sull’attuale layout di stampa.

Passo 6: Salvare le Immagini

Il codice sopra salva già ciascun file immagine su disco utilizzando il nome definito.

// Output:
// workbook_page_1.png
// workbook_page_2.png
// ...

Passo 7: Miglioramenti Opzionali

Puoi ulteriormente ottimizzare il rendering delle immagini:

// Esempio: mostrare le linee della griglia
options.ShowGridLines = true;

// Esempio: rendere l'intero contenuto del foglio in una pagina
options.AllColumnsInOnePagePerSheet = true;

Migliori Pratiche

  • Utilizza alta risoluzione (200+ dpi) per immagini di qualità da stampa.
  • Abilita AllColumnsInOnePagePerSheet per fogli larghi.
  • Combina l’output in un PDF o galleria di immagini per presentazioni.

Problemi Comuni e Soluzioni

ProblemaSoluzione
L’immagine di output è vuotaAssicurati che il workbook sia caricato e contenga dati visibili
L’immagine è tagliataImposta OnePagePerSheet = true o regola la scala della pagina
Output di bassa qualitàAumenta HorizontalResolution e VerticalResolution
 Italiano