Dieser Artikel befasst sich mit dem Problem der Formatierung von JSON-Rohdaten in ein vorzeigbares und leicht verständliches Berichtsformat innerhalb der .NET-Anwendung. Wir werden die JSON-Daten mithilfe einfacher Vorlagen in PDF- und DOCX-Berichte in C# konvertieren.

Generieren Sie PDF- oder Word-Berichte aus JSON in CSharp

.NET-API für die Berichterstellung

GroupDocs.Assembly for .NET ist die Berichterstellungs- und Dokumentautomatisierungs-API für .NET-Anwendungen. Es ermöglicht Ihnen, Berichte aus den Daten zu generieren, die in verschiedenen Formaten wie JSON, XML oder CSV und der Vorlage in vielen verschiedenen Formaten wie Word-Dokument, **Tabellenkalkulation verfügbar sind Format **, Präsentation oder Text. Es unterstützt auch viele Berichtsformatierungsfunktionen wie Aufzählungszeichen, nummerierte Listen, Diagramme, Tabellen, Bilder, Barcodes usw.

Sie können die DLLs oder das MSI-Installationsprogramm aus dem Download-Bereich herunterladen oder die API in Ihrer .NET-Anwendung über NuGet installieren.

PM> Install-Package GroupDocs.Assembly

PDF-Bericht aus JSON-Daten in C# generieren

Beginnen wir mit den Schritten, die Sie zum Konvertieren von JSON-Daten in den formatierten PDF-Bericht in C# führen.

  • Holen Sie sich die JSON-Datenquelle
  • Vorlage nach JSON-Daten definieren
  • Bereitstellung von JSON-Datenquelle und -Vorlage für einfachen C#-Code zur Berichterstellung.

JSON-Daten

Erstens werden die folgenden Beispiel-JSON-Daten für die PDF-Berichterstellung verwendet, die Manager und ihre jeweiligen Kunden und Details zeigt.

\[
	{
		"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}\]
	}
\]

Schablone

Zweitens definieren Sie die folgende Vorlage in TXT, DOCX oder im erforderlichen Format. Dies ermöglicht die Iteration der Daten von Managern und ihrer jeweiligen Kunden und ihrer Details. Danach können Sie zum Code für die Berichterstellung springen.

<<foreach [in managers]>>Manager: <<[Name]>>
Contracts:
<<foreach [in Contract]>>- <<[Client.Name]>> ($<<[Price]>>)
<</foreach>>
<</foreach>>

C#-Schritte zum Konvertieren von JSON in einen PDF-Bericht

Die folgenden Schritte des C#-Codes automatisieren die Konvertierung von JSON-Daten in PDF-Berichte gemäß der definierten Vorlage.

  • Definieren Sie JSON-Daten, die Vorlagendatei und Dateipfade für PDF-Ausgabeberichte.
  • Instanziieren Sie JsonDataSoure mit JSON-Datendatei.
  • Erstellen Sie DataSourceInfo mit definierter JsonDataSource.
  • Rufen Sie die Methode AssembleDocument der Klasse DocumentAssembler auf, um den PDF-Bericht aus den bereitgestellten JSON-Daten und der definierten Vorlage zu generieren.
// Generieren Sie einen PDF-Bericht aus JSON-Daten mithilfe einer TXT-Vorlage in C# mit der GroupDocs.Assembly-API
// Definieren Sie Datenquelle, Vorlage und Ausgabeberichtsdateien.
const string strDataSource = "dataPath/ManagerData.json";
const string strDocumentTemplate = "templatePath/template.txt";
const string strDocumentReport = "reportsPath/reportFromJSON.pdf";
// Instanziieren Sie die JSON-Datenquelle
JsonDataSource dataSource = new JsonDataSource(CommonUtilities.GetDataSourceDocument(strDataSource));
// Bericht generieren
DocumentAssembler assembler = new DocumentAssembler();
assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate),
    CommonUtilities.SetDestinationDocument(strDocumentReport),
    new DataSourceInfo(dataSource, "managers"));

Der Code erzeugt den PDF-Bericht wie in der Abbildung oben gezeigt. Sie können auch und oben und ähnliche Beispiele aus dem GitHub-Repository testen.

Generieren Sie MS Word-Berichte aus JSON-Daten in C#

Ähnlich wie beim Generieren des PDF-Berichts oben können Sie den DOCX-Bericht erstellen, indem Sie die folgenden Schritte ausführen:

  • Definieren der gleichen Vorlage im DOCX-Format.
  • Legen Sie das Dokumentformat des Ausgabeberichts als DOCX fest.
  • Der Rest des Codes bleibt derselbe, um einen MS Word DOCX-Bericht aus den JSON-Daten zu generieren.
// Generieren Sie Word-Berichte aus JSON-Daten mithilfe der DOCX-Vorlage in C# mit der GroupDocs.Assembly-API
// Definieren Sie Datenquelle, Vorlage und Ausgabeberichtsdateien.
const string strDataSource = "dataPath/ManagerData.json";
const string strDocumentTemplate = "templatePath/template.docx";
const string strDocumentReport = "reportsPath/reportFromJSON.docx";
// Instanziieren Sie die JSON-Datenquelle
JsonDataSource dataSource = new JsonDataSource(CommonUtilities.GetDataSourceDocument(strDataSource));
// Bericht generieren
DocumentAssembler assembler = new DocumentAssembler();
assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate),
    CommonUtilities.SetDestinationDocument(strDocumentReport),
    new DataSourceInfo(dataSource, "managers"));

Weitere Details, Optionen und Beispiele finden Sie in der Dokumentation und im GitHub-Repository. Wenden Sie sich bei weiteren Fragen an den kostenlosen Support im Forum.

Fazit

In diesem Artikel haben Sie gelernt, wie Sie Ihre JSON-Daten in Ihrer .NET-Anwendung mit C# in den PDF-Bericht konvertieren. Darüber hinaus können Sie Berichte in anderen Formaten wie DOCX mit anderen Datenquellen wie CSV und XML erstellen. Ich hoffe, Sie werden sich wohl fühlen, wenn Sie mit dem Erstellen Ihrer .NET-Anwendung für den Berichtsgenerator beginnen.

Siehe auch