Dit artikel behandelt het probleem van het formatteren van onbewerkte JSON-gegevens in een representatieve en gemakkelijk te begrijpen rapportindeling binnen de .NET-toepassing. We gaan de JSON-gegevens omzetten in PDF- en DOCX-rapporten in C# met behulp van eenvoudige sjablonen.

Genereer een PDF- of Word-rapport van JSON in CSharp

.NET API voor het genereren van rapporten

GroupDocs.Assembly for .NET is de API voor het genereren van rapporten en documentautomatisering voor .NET-toepassingen. Hiermee kunt u rapporten genereren op basis van de beschikbare gegevens in verschillende indelingen, zoals JSON, XML of CSV, en de sjabloon in veel verschillende indelingen, zoals Word-document, spreadsheet, presentatie of tekstindeling. Het ondersteunt ook veel functies voor het opmaken van rapporten, zoals opsommingstekens, genummerde lijsten, grafieken, tabellen, afbeeldingen, streepjescodes, enz.

U kunt de DLL’s of het MSI-installatieprogramma downloaden van de downloadsectie of de API in uw .NET-toepassing installeren via NuGet.

PM> Install-Package GroupDocs.Assembly

Genereer een PDF-rapport van JSON-gegevens in C#

Laten we beginnen met de stappen die u zullen leiden om JSON-gegevens te converteren naar het opgemaakte PDF-rapport in C#.

  • JSON-gegevensbron ophalen
  • Definieer sjabloon volgens JSON-gegevens
  • Lever JSON-gegevensbron en -sjabloon aan eenvoudige C#-code voor het genereren van rapporten.

JSON-gegevens

Ten eerste worden de volgende voorbeeld-JSON-gegevens gebruikt voor het genereren van PDF-rapporten die managers en hun respectievelijke klanten en details tonen.

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

Sjabloon

Definieer vervolgens de volgende sjabloon in TXT, DOCX of in het vereiste formaat. Dit maakt iteratie van de gegevens van Managers en hun respectieve Klanten en hun details mogelijk. Daarna kunt u naar code springen voor het genereren van rapporten.

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

C# Stappen om JSON naar PDF-rapport te converteren

De volgende stappen van C#-code automatiseren de conversie van JSON-gegevens naar PDF-rapport volgens de gedefinieerde sjabloon.

  • Definieer JSON-gegevens, het sjabloonbestand en bestandspaden voor PDF-uitvoerrapporten.
  • Instantieer JsonDataSoure met JSON-gegevensbestand.
  • Maak DataSourceInfo met gedefinieerde JsonDataSource.
  • Roep de methode AssembleDocument van de klasse DocumentAssembler aan om het PDF-rapport te genereren op basis van de verstrekte JSON-gegevens en de gedefinieerde sjabloon.
// Genereer PDF-rapport van JSON-gegevens met behulp van TXT-sjabloon in C# met GroupDocs.Assembly API
// Definieer gegevensbron-, sjabloon- en uitvoerrapportbestanden.
const string strDataSource = "dataPath/ManagerData.json";
const string strDocumentTemplate = "templatePath/template.txt";
const string strDocumentReport = "reportsPath/reportFromJSON.pdf";
// Direct JSON-gegevensbron
JsonDataSource dataSource = new JsonDataSource(CommonUtilities.GetDataSourceDocument(strDataSource));
// Rapport genereren
DocumentAssembler assembler = new DocumentAssembler();
assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate),
    CommonUtilities.SetDestinationDocument(strDocumentReport),
    new DataSourceInfo(dataSource, "managers"));

De code produceert het PDF-rapport zoals weergegeven in de bovenstaande afbeelding. Je kunt ook en soortgelijke voorbeelden testen uit de GitHub-repository.

Genereer MS Word-rapport van JSON-gegevens in C#

Op dezelfde manier kunt u, net als bij het genereren van het bovenstaande PDF-rapport, het DOCX-rapport maken door deze stappen te volgen:

  • Dezelfde sjabloon definiëren in DOCX-indeling.
  • Stel de documentindeling van het uitvoerrapport in als DOCX.
  • De rest van de code blijft hetzelfde om een MS Word DOCX-rapport te genereren op basis van de JSON-gegevens.
// Genereer Word-rapport van JSON-gegevens met behulp van DOCX-sjabloon in C# met GroupDocs.Assembly API
// Definieer gegevensbron-, sjabloon- en uitvoerrapportbestanden.
const string strDataSource = "dataPath/ManagerData.json";
const string strDocumentTemplate = "templatePath/template.docx";
const string strDocumentReport = "reportsPath/reportFromJSON.docx";
// Direct JSON-gegevensbron
JsonDataSource dataSource = new JsonDataSource(CommonUtilities.GetDataSourceDocument(strDataSource));
// Rapport genereren
DocumentAssembler assembler = new DocumentAssembler();
assembler.AssembleDocument(CommonUtilities.GetSourceDocument(strDocumentTemplate),
    CommonUtilities.SetDestinationDocument(strDocumentReport),
    new DataSourceInfo(dataSource, "managers"));

Ga voor meer details, opties en voorbeelden naar de documentatie en de GitHub-repository. Neem voor verdere vragen contact op met de gratis ondersteuning op het forum.

Conclusie

In dit artikel heeft u geleerd hoe u uw JSON-gegevens converteert naar het PDF-rapport binnen uw .NET-toepassing met behulp van C#. Verder kunt u rapporten genereren in andere indelingen, zoals DOCX, met behulp van andere gegevensbronnen, zoals CSV en XML. Ik hoop dat u zich op uw gemak zult voelen bij het bouwen van uw rapportgenerator .NET-toepassing.

Zie ook