Questo articolo affronta il problema della formattazione dei dati JSON non elaborati in un formato di report presentabile e facilmente comprensibile all’interno dell’applicazione .NET. convertiremo i dati JSON in report PDF e DOCX in C# utilizzando modelli semplici.
API .NET per la generazione di report
GroupDocs.Assembly for .NET è l’API di generazione di report e automazione dei documenti per le applicazioni .NET. Ti consente di generare rapporti dai dati disponibili in vari formati come JSON, XML o CSV e il modello in molti formati diversi come documento di Word, **foglio di calcolo **, presentazione o testo. Supporta anche molte funzioni di formattazione dei report come punti elenco, elenchi numerati, grafici, tabelle, immagini, codici a barre, ecc.
Puoi scaricare le DLL o il programma di installazione MSI dalla sezione download o installare l’API nella tua applicazione .NET tramite NuGet.
PM> Install-Package GroupDocs.Assembly
Genera report PDF da dati JSON in C#
Iniziamo con i passaggi che ti porteranno a convertire i dati JSON nel report PDF formattato in C#.
- Ottieni origine dati JSON
- Definisci il modello in base ai dati JSON
- Fornisci l’origine dati e il modello JSON al semplice codice C# per la generazione di report.
Dati JSON
In primo luogo, i seguenti dati JSON di esempio vengono utilizzati per la generazione di report PDF che mostrano i gestori, i rispettivi clienti e i dettagli.
\[
{
"Name":"John Smith","Contract":\[
{"Client":{"Name":"A Company"},"Price":1200000},
{"Client":{"Name":"B Ltd."},"Price":750000},
{"Client":{"Name":"C & D"},"Price":350000}\]
},
{
"Name":"Tony Anderson","Contract":\[
{"Client":{"Name":"E Corp."},"Price":650000},
{"Client":{"Name":"F & Partners"},"Price":550000}\]
},
{
"Name":"July James","Contract":\[
{"Client":{"Name":"G & Co."},"Price":350000},
{"Client":{"Name":"H Group"},"Price":250000},
{"Client":{"Name":"I & Sons"},"Price":100000},
{"Client":{"Name":"J Ent."},"Price":100000}\]
}
\]
Modello
In secondo luogo, definisci il seguente modello in TXT, DOCX o nel formato richiesto. Ciò consente l’iterazione dei dati dei Gestori, dei rispettivi Clienti e dei loro dettagli. Successivamente, puoi passare al codice per la generazione del rapporto.
<<foreach [in managers]>>Manager: <<[Name]>>
Contracts:
<<foreach [in Contract]>>- <<[Client.Name]>> ($<<[Price]>>)
<</foreach>>
<</foreach>>
C# Passaggi per convertire JSON in report PDF
I seguenti passaggi del codice C# automatizzano la conversione dei dati JSON in report PDF in base al modello definito.
- Definisci i dati JSON, il file modello e i percorsi dei file di report di output PDF.
- Istanziare JsonDataSoure con il file di dati JSON.
- Crea DataSourceInfo con JsonDataSource definito.
- Chiama il metodo AssembleDocument della classe DocumentAssembler per generare il report PDF dai dati JSON forniti e dal modello definito.
// Genera report PDF da dati JSON utilizzando il modello TXT in C# con l'API GroupDocs.Assembly
// Definire l'origine dati, il modello e i file di report di output.
const string strDataSource = "dataPath/ManagerData.json";
const string strDocumentTemplate = "templatePath/template.txt";
const string strDocumentReport = "reportsPath/reportFromJSON.pdf";
// Istanziare l'origine dati JSON
JsonDataSource dataSource = new JsonDataSource(CommonUtilities.GetDataSourceDocument(strDataSource));
// Genera rapporto
DocumentAssembler assembler = new DocumentAssembler();
assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate),
CommonUtilities.SetDestinationDocument(strDocumentReport),
new DataSourceInfo(dataSource, "managers"));
Il codice produrrà il report in PDF come mostrato nella figura sopra. Puoi anche testare e sopra ed esempi simili dal repository GitHub.
Genera report MS Word dai dati JSON in C#
Allo stesso modo, come per generare il rapporto PDF sopra, puoi creare il rapporto DOCX seguendo questi passaggi:
- Definizione dello stesso modello in formato DOCX.
- Impostare il formato del documento del rapporto di output come DOCX.
- Il resto del codice rimarrà lo stesso per generare il report MS Word DOCX dai dati JSON.
// Genera report Word dai dati JSON utilizzando il modello DOCX in C# con l'API GroupDocs.Assembly
// Definire l'origine dati, il modello e i file di report di output.
const string strDataSource = "dataPath/ManagerData.json";
const string strDocumentTemplate = "templatePath/template.docx";
const string strDocumentReport = "reportsPath/reportFromJSON.docx";
// Istanziare l'origine dati JSON
JsonDataSource dataSource = new JsonDataSource(CommonUtilities.GetDataSourceDocument(strDataSource));
// Genera rapporto
DocumentAssembler assembler = new DocumentAssembler();
assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate),
CommonUtilities.SetDestinationDocument(strDocumentReport),
new DataSourceInfo(dataSource, "managers"));
Per maggiori dettagli, opzioni ed esempi, visita la documentazione e il repository GitHub. Per ulteriori domande, contatta il supporto gratuito sul forum.
Conclusione
In questo articolo, hai imparato a convertire i tuoi dati JSON nel report PDF all’interno della tua applicazione .NET usando C#. Inoltre, puoi generare rapporti in altri formati come DOCX utilizzando altre origini dati come CSV e XML. Spero che ti sentirai a tuo agio iniziando a creare la tua applicazione .NET per il generatore di report.