XML is een door W3C aanbevolen, zelfbeschrijvende taal die is ontworpen om gegevens op te slaan en te transporteren. Een ontwikkelaar kan het XML-formaat wijzigen in elk ander beter leesbaar formaat, zoals PDF- of MS Word-document binnen de .NET-toepassing. In dit artikel wordt besproken hoe u XML-gegevens kunt converteren naar PDF- en MS Word-rapporten met behulp van C# via eenvoudige sjablonen.
Hieronder worden de volgende onderwerpen besproken:
- .NET API voor het genereren van rapporten
- Genereer een PDF-rapport van XML-gegevens met behulp van C#
- Genereer MS Word DOC/DOCX-rapport van XML-gegevens met behulp van C#
Rapporten genereren .NET API – XML naar PDF en WORD
GroupDocs.Assembly for .NET is de API om het genereren van rapporten op basis van de XML-gegevens te automatiseren met behulp van een DOCX- of TXT-sjabloon. Bovendien ondersteunt het JSON, CSV en andere gegevensbronnen om de gegevens om te zetten in rapporten met verschillende bestandsindelingen.
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 XML-gegevens in C#
In 3 eenvoudige stappen converteert u XML-gegevens naar het opgemaakte PDF-rapport.
- Laad uw XML-gegevensbron.
- Definieer de sjabloon volgens de geladen XML-gegevens.
- Geef ten slotte een XML-gegevensbron en -sjabloon op voor een methode voor het genereren van rapporten.
XML-gegevens
De volgende XML-voorbeeldgegevens worden gebruikt om deze te converteren naar het PDF-rapport. Het bevat de gegevens van managers en hun respectieve klanten met wat meer details.
<Managers>
<Manager>
<Name>John Smith</Name>
<Contract>
<Client>
<Name>A Company</Name>
</Client>
<Price>1200000</Price>
</Contract>
<Contract>
...
</Contract>
...
</Manager>
<Manager>
<Name>Tony Anderson</Name>
...
</Manager>
...
</Managers>
Sjabloon
Definieer de sjabloon in TXT- of DOCX-indeling volgens uw XML-brongegevens. Ik gebruik het onderstaande sjabloon dat is gemaakt op basis van de bovengenoemde XML-gegevens van managers. Dit zorgt ervoor dat de rapportgenerator Managers en hun respectieve klanten herhaalt. Na voltooiing van de sjabloon bent u bijna klaar. U kunt de onderstaande code gebruiken voor het genereren van uw rapport.
<<foreach \[in managers\]>>Manager: <<\[Name\]>>
Contracts:
<<foreach \[in Contract\]>>- <<\[Client.Name\]>> ($<<\[Price\]>>)
<</foreach>>
<</foreach>>
C# Stappen om een PDF-rapport te genereren vanuit XML
Met de volgende stappen kunt u het genereren van PDF-rapporten automatiseren op basis van uw XML-gegevens volgens uw gedefinieerde sjabloon.
- Definieer XML-gegevensbestand, tekstsjabloonbestand en PDF-uitvoerrapportbestanden.
- Instantieer XMLDataSoure met XML-gegevensbestand.
- Creëer DataSourceInfo met een gedefinieerde XML-gegevensbron.
- Roep de methode AssembleDocument aan om het PDF-rapport te genereren.
De volgende code implementeert de bovenstaande stappen en genereert een PDF van de XML-gegevensbron met behulp van C#.
// Genereer PDF-rapport van XML-gegevens met behulp van TXT-sjabloon in CSharp
// Definieer gegevensbron-, sjabloon- en uitvoerrapportbestanden.
string xmlDataSource = @"dataPath/Managers.xml";
string templateFilePath = @"templatePath/xml-template.txt";
string reportFilePath = @"reportsPath/xml-to-pdf-report.pdf";
// Laad XML-gegevensbron
XmlDataSource dataSource = new XmlDataSource(xmlDataSource);
// Document samenstellen om PDF te genereren
DocumentAssembler assembler = new DocumentAssembler();
assembler.AssembleDocument(templateFilePath, reportFilePath, new DataSourceInfo(dataSource, "managers"));
Genereer MS Word-rapport van XML-gegevens in C#
Op dezelfde manier kunt u het rapport ook in MS Word DOC/DOCX-indeling maken met dezelfde XML-gegevens. Er zal geen verschil zijn in de code van degene die we hierboven hebben besproken, behalve dat u de naam van het uitvoerbestand moet wijzigen.
- Laad het XML-gegevensbestand.
- De sjabloon definiëren in TXT- of DOCX-indeling.
- Stel de documentindeling van het uitvoerrapport in als DOCX.
- Geef het XML-gegevensbestand, de sjabloon en het uitvoerbestandspad op aan DocumentAssembler om de XML naar DOCX te converteren.
De volgende code converteert de XML en genereert het DOCX-bestand met behulp van de gedefinieerde sjabloon met behulp van C#.
// Genereer MS Word-rapport van XML-gegevens met behulp van een tekstsjabloon in CSharp
// Definieer gegevensbron-, sjabloon- en uitvoerrapportbestanden.
string xmlDataSource = @"dataPath/Managers.xml";
string templateFilePath = @"templatePath/xml-template.txt";
string reportFilePath = @"reportsPath/xml-to-word-report.docx";
// Laad XML-gegevensbron
XmlDataSource dataSource = new XmlDataSource(xmlDataSource);
// Document samenstellen om Word-rapport te genereren
DocumentAssembler assembler = new DocumentAssembler();
assembler.AssembleDocument(templateFilePath, reportFilePath, new DataSourceInfo(dataSource, "managers"));
Ontvang een gratis API-licentie
U kunt een gratis tijdelijke licentie krijgen om de API te gebruiken zonder de evaluatiebeperkingen.
Conclusie
Kortom, je hebt geleerd om de XML-gegevens als rapport om te zetten in PDF-indeling met behulp van C# met de .NET-toepassing. Daarnaast bespraken we het genereren van rapporten in DOC/DOCX-indeling vanuit dezelfde XML met behulp van de sjabloon. Na het lezen van deze reeks berichten over het genereren van rapporten; Genereer PDF- en MS Word-rapporten van JSON, CSV, XML, u kunt uw eigen .NET-toepassing voor het bouwen van rapporten ontwikkelen.
Ga voor meer informatie over GroupDocs.Assembly, opties en voorbeelden naar documentation en de GitHub-repository. Neem voor verdere vragen contact met ons op via het forum.