CSV-bestanden ([Comma Separated Values][3]-bestanden worden veel gebruikt voor het uitwisselen van gegevens tussen applicaties. Als u wilt dat deze gegevens worden vertaald in representatieve en zinvolle informatie, moet u deze converteren naar een ander formaat. In een van onze berichten, we hebben gezien [hoe CSV-gegevens in rapporten met Java kunnen worden geconverteerd] 4. Dit artikel zal u begeleiden bij het converteren van CSV-gegevens naar PDF- en MS Word DOC/DOCX-rapporten met behulp van C# met behulp van een eenvoudige sjabloon.
De volgende onderwerpen komen hieronder aan bod:
- [Rapport genereren .NET API][5]
- [Genereer een PDF-rapport van CSV-gegevens][6]
- [Genereer MS Word-rapport van CSV-gegevens][7]
Rapport genereren .NET API
[GroupDocs.Assembly][8] biedt de .NET-rapportage-API om het genereren van rapporten te automatiseren. In dit artikel heb ik deze [GroupDocs.Assembly for .NET][9] gebruikt voor het genereren van rapporten van de geselecteerde CSV-gegevens en een sjabloon in TXT-indeling. Het ondersteunt ook meerdere gegevensbronnen zoals JSON, XML en ook van MS Word-, Excel- en PowerPoint-bestanden als gegevensbestanden.
U kunt de DLL’s of het MSI-installatieprogramma downloaden van de [downloadsectie][10] of de API in uw .NET-toepassing installeren via [NuGet][11].
PM> Install-Package GroupDocs.Assembly
Genereer een PDF-rapport van CSV-gegevens in C#
Laten we beginnen met het omzetten van de door komma’s gescheiden gegevens in een representatieve PDF. De volgende stappen zullen u begeleiden bij het converteren van de CSV-gegevens naar een opgemaakt PDF-rapport.
- Laad CSV-gegevensbron.
- Definieer sjabloon volgens de CSV-gegevens.
- Geef een CSV-gegevensbron en -sjabloon op voor een eenvoudige methode om een PDF-rapport te genereren.
CSV-gegevens
Om het PDF-rapport te krijgen, zal ik de volgende CSV-voorbeeldgegevens van verschillende personen gebruiken, samen met hun respectieve gegevens over leeftijd en geboortedatum.
Name,Age,Birth
John Doe,32,4/1/1989 16:00
Jane Doe,29,1/31/1992 7:00
John Smith,53,3/8/1968 13:00
Sjabloon
De volgende stap zou zijn om de sjabloon in TXT- of DOCX-indeling te definiëren. Het volgende is het sjabloon dat in dit voorbeeld wordt gebruikt en waarmee de lijst met personen met hun gegevens kan worden herhaald.
<<foreach \[in persons\]>>Name: <<\[Name\]>>, Age: <<\[Age\]>>, Date of Birth: <<\[Birth\]:"dd.MM.yyyy">>
<</foreach>>
Average age: <<\[persons.Average(p => p.Age)\]>>
Stappen om een PDF-rapport te genereren vanuit CSV in C#
De volgende stappen begeleiden bij het converteren van de CSV-gegevens naar een PDF-rapport volgens de gedefinieerde sjabloon met behulp van C# met de .NET Reporting API.
- Definieer het CSV-gegevensbestand, het sjabloonbestand en de PDF-uitvoerbestandspaden.
- Instantieer [CsvDataSoure][12] met CSV-gegevensbestand en laadopties.
- Maak [DataSourceInfo][13] met de gedefinieerde gegevensbron.
- Roep met de [DocumentAssembler][14] de methode [AssembleDocument][15] aan met gedefinieerd sjabloonbestand, uitvoerbestand en DataSourceInfo om het PDF-rapport als uitvoer te krijgen.
De volgende code laat zien hoe u CSV-gegevens converteert naar een PDF-rapport in C#.
// Genereer PDF-rapport van CSV-gegevens met behulp van TXT-sjabloon in C# met GroupDocs.Assembly API
// Definieer gegevensbron-, sjabloon- en uitvoerrapportbestanden.
string csvDataSource = @"path/person.csv";
string templateFilePath = @"path/csv-template.txt";
string reportFilePath = @"path/csv-to-pdf-report.pdf";
// Laad CSV-gegevensbron
CsvDataSource dataSource = new CsvDataSource(csvDataSource, new CsvDataLoadOptions(true));
// Genereer rapport in PDF-formaat
DocumentAssembler assembler = new DocumentAssembler();
assembler.AssembleDocument(templateFilePath, reportFilePath, new DataSourceInfo(dataSource, "persons"));
Genereer MS Word-rapport van CSV-gegevens in C#
Als u handmatige bewerkingen in het automatisch gegenereerde rapport wilt, kunt u de uitvoer ook krijgen als een MS Word-document. Het proces zal sterk lijken op het bovenstaande genereren van PDF-rapporten. De volgende stappen helpen u bij het genereren van het DOC/DOCX-rapport op basis van de CSV-gegevens:
- Laad de CSV-gegevens uit het bestand.
- De sjabloon definiëren in TXT- of DOCX-indeling.
- Stel het documentformaat van het uitvoerrapport in als DOC/DOCX.
- Roep de methode [AssembleDocument][16] aan om een MS Word DOCX-rapport te genereren op basis van de CSV-gegevens.
De volgende code laat zien hoe u CSV-gegevens converteert naar een DOCX-rapport met behulp van C#.
// Genereer Word DOCX-rapport van CSV-gegevens met behulp van TXT-sjabloon in C# met GroupDocs.Assembly API
// Definieer gegevensbron-, sjabloon- en uitvoerrapportbestanden.
string csvDataSource = @"path/person.csv";
string templateFilePath = @"path/csv-template.txt";
string reportFilePath = @"path/csv-to-pdf-report.docx";
// Laad CSV-gegevensbron
CsvDataSource dataSource = new CsvDataSource(csvDataSource, new CsvDataLoadOptions(true));
// Genereer rapport in DOCX-formaat
DocumentAssembler assembler = new DocumentAssembler();
assembler.AssembleDocument(templateFilePath, reportFilePath, new DataSourceInfo(dataSource, "persons"));
Ontvang een gratis API-licentie
U kunt [een gratis tijdelijke licentie krijgen][17] om de API te gebruiken zonder de evaluatiebeperkingen.
Conclusie
Tot slot heb je geleerd om de CSV-gegevens om te zetten in PDF- en MS Word-rapporten met behulp van C#. U moet er nu zeker van zijn dat u uw eigen .NET-toepassing voor het genereren van rapporten bouwt door CSV-gegevens naar PDF-indeling te converteren. Op dezelfde manier kunt u ook rapporten genereren met behulp van andere gegevensbronnen zoals JSON en XML.
Ga voor meer informatie over de API naar [documentation][18] en de [GitHub][19]-repository. Neem bij verdere vragen en onduidelijkheden contact op met de gratis ondersteuning op het [forum][20].
Zie ook
- [Genereer rapporten van JSON-gegevens met behulp van C#][21]
- [Genereer rapporten van CSV-gegevens met behulp van Java][22]
[1]: https://docs.fileformat.com/spreadsheet/csv/) [2]: https://blog.groupdocs.com/nl/assembly/generate-reports-from-csv-data-in-java/ [3]: https://docs.fileformat.com/spreadsheet/csv/) [4]: https://blog.groupdocs.com/nl/assembly/generate-reports-from-csv-data-in-java/ [5]: #report-generator-dotnet-api [6]: #csv-to-pdf-report-csharp [7]: #csv-to-docx-report-java [8]: https://products.groupdocs.com/assembly/java [9]: https://products.groupdocs.com/assembly/net/ [10]: https://downloads.groupdocs.com/assembly/net [11]: https://www.nuget.org/packages/groupdocs.assembly [12]: https://apireference.groupdocs.com/net/assembly/groupdocs.assembly.data/csvdatasource [13]: https://apireference.groupdocs.com/assembly/net/groupdocs.assembly/datasourceinfo [14]: https://apireference.groupdocs.com/assembly/net/groupdocs.assembly/documentassembler [15]: https://apireference.groupdocs.com/assembly/net/groupdocs.assembly/documentassembler/methods/assembledocument/index [16]: https://apireference.groupdocs.com/assembly/net/groupdocs.assembly/documentassembler/methods/assembledocument/index [17]: https://purchase.groupdocs.com/temporary-license [18]: https://docs.groupdocs.com/assembly/net/ [19]: https://github.com/groupdocs-assembly [20]: https://forum.groupdocs.com/c/assembly [21]: https://blog.groupdocs.com/nl/assembly/generate-reports-from-json-data-in-csharp/ [22]: https://blog.groupdocs.com/nl/assembly/generate-reports-from-csv-data-in-java/