Genera report dai dati di Excel in C#

È possibile creare facilmente report personalizzati da tabelle di dati di Microsoft Excel. Tali report possono essere generati in modo programmatico utilizzando fogli di calcolo Excel come tabella di dati. Questo articolo si concentrerà su come generare report dai dati di Excel usando C#.

I seguenti argomenti sono discussi/trattati in questo articolo:

API C# per la generazione di report

Userò l’API GroupDocs.Assembly for .NET per generare report dai dati di Excel. Ti consente di creare potenti applicazioni di automazione dei documenti e generazione di report. L’API supporta il recupero dei dati da varie origini dati come XML, JSON e CSV. Puoi generare facilmente report in tutti i formati di file comunemente usati come PDF, HTML e Microsoft Word. Può essere utilizzato per sviluppare applicazioni in qualsiasi ambiente di sviluppo destinato alla piattaforma .NET.

Puoi scaricare la DLL dell’API o installarla utilizzando NuGet.

Install-Package GroupDocs.Assembly

Genera report dai dati di Excel utilizzando C#

È possibile generare report dai dati di Excel seguendo i semplici passaggi indicati di seguito:

  1. Ottieni l’origine dati Excel.
  2. Definisci modello in base ai dati di Excel.
  3. Fornisci l’origine dati e il modello a semplice codice C# per la generazione di report

Dati Excel

I dati tabulari disponibili nel foglio di calcolo di Excel possono essere utilizzati come origine dati per generare report. Userò i seguenti dati di esempio di Excel per la generazione di report. Si tratta dei dati contrattuali dei clienti con i rispettivi gestori e del prezzo contrattuale concordato.

Sorgente dati Excel

Sorgente dati Excel

Modello

Ora, definisci il seguente modello nel file DOCX. Ciò consente di iterare i dati dei Contratti e dei rispettivi gestori con il prezzo del contratto. Successivamente, puoi passare al codice per la generazione di report.

Modello di rapporto

Modello di rapporto

Converti Excel in Word Report in C#

Segui i passaggi indicati di seguito per automatizzare la conversione dei dati di Excel nel report DOCX in base al modello.

  • Definire il file di dati di Excel, il file modello e i percorsi del file di report di output DOCX
  • Definisci DocumentTableOptions
  • Crea DocumentTable con un file di dati Excel definito e DocumentTableOptions
  • Chiama il metodo AssembleDocument della classe DocumentAssembler per generare il report dai dati Excel forniti e dal modello definito

Nell’esempio di codice seguente viene illustrato come generare un report da un’origine dati di Excel in base al modello definito usando C#.

string ExcelDataFile = "Contracts_Data.xlsx";
string strDocumentTemplate = "Template.docx";
string strDocumentReport = "Output.docx";

// Definire la tabella dei dati dal file Excel
DocumentTableOptions options = new DocumentTableOptions 
{ 
    FirstRowContainsColumnNames = true 
};
DocumentTable table = new DocumentTable(ExcelDataFile, 0, options);

// Assembla un documento utilizzando la tabella del documento esterno come origine dati.
DocumentAssembler assembler = new DocumentAssembler();
assembler.AssembleDocument(strDocumentTemplate, strDocumentReport,
    new DataSourceInfo(table, "contracts"));

L’esempio di codice precedente genererà il seguente report.

Rapporto generato

Rapporto generato

La classe DocumentTableOptions fornisce un set di opzioni per controllare l’estrazione di dati da una tabella del documento. Qui, la proprietà FirstRowContainsColumnNames è impostata su true.

La classe DocumentTable fornisce l’accesso ai dati di una singola tabella (o foglio di calcolo) che si trova in un documento esterno da utilizzare durante l’assemblaggio di un documento.

La classe DocumentAssembler fornisce metodi per generare report basati sul documento modello con i dati.

Ottieni una licenza gratuita

Puoi provare l’API senza limitazioni di valutazione richiedendo una licenza temporanea gratuita.

Conclusione

In questo articolo hai imparato come generare report dai dati di Excel usando C#. Puoi saperne di più su GroupDocs.Assembly per .NET API usando la documentazione. In caso di ambiguità, non esitare a contattarci sul forum.

Guarda anche