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.

Genera report PDF o Word da JSON in CSharp

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.

Guarda anche