De Comma Separated Values(CSV) is een bestandsindeling voor het opslaan van de gegevens in de vorm van platte tekst waarbij de waarden worden gescheiden door komma’s. CSV wordt veel gebruikt voor het uitwisselen van gegevens tussen applicaties. Als ontwikkelaar moeten we vaak de grote CSV-gegevens omzetten in een presentabel formaat. Dit artikel zal u begeleiden bij het converteren van CSV-gegevens naar PDF- en MS Word-rapporten in Java met behulp van een eenvoudige sjabloon.

De volgende onderwerpen komen hieronder aan bod:

Java-API voor het genereren van rapporten

GroupDocs.Assembly for Java is de API voor het genereren van rapporten die ik in dit artikel heb gebruikt om rapporten te genereren op basis van de geselecteerde CSV-gegevens en een sjabloon in TXT-indeling. Het ondersteunt ook automatisering van het genereren van rapporten vanuit meerdere gegevensbronnen zoals JSON, XML, en ook vanuit MS Word-, Excel- en PowerPoint-bestanden als gegevensbestanden.

Downloaden of configureren

U kunt het JAR-bestand downloaden van de downloads-sectie, of gewoon de repository- en afhankelijkheidsconfiguraties voor de pom.xml van uw maven-gebaseerde Java-applicaties downloaden.

<repository>
	<id>GroupDocsJavaAPI</id>
	<name>GroupDocs Java API</name>
	<url>http://repository.groupdocs.com/repo/</url>
</repository>
<dependency>
        <groupId>com.groupdocs</groupId>
        <artifactId>groupdocs-assembly</artifactId>
        <version>21.4</version> 
</dependency>

Genereer een PDF-rapport van CSV-gegevens in Java

Laten we beginnen met de transformatie van gegevens naar presenteerbare PDF. De volgende stappen leiden u naar het converteren van 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 naar PDF-rapport in Java

CSV-gegevens

Voor het genereren van PDF-rapporten zal ik de volgende CSV-voorbeeldgegevens van verschillende personen gebruiken, samen met hun respectieve leeftijden 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

Definieer de volgende sjabloon in TXT- of DOCX-indeling. Dit maakt het mogelijk om de lijst van personen met hun gegevens te herhalen. Daarna kunt u naar de code springen voor het genereren van rapporten.

<<foreach \[in persons\]>>Name: <<\[Name\]>>, Age: <<\[Age\]>>, Date of Birth: <<\[Birth\]:"dd.MM.yyyy">>
<</foreach>>
Average age: <<\[persons.**average**(p => p.Age)\]>>

Java-stappen om een PDF-rapport te genereren vanuit CSV

In de volgende stappen wordt de automatische conversie van CSV-gegevens naar een PDF-rapport volgens het gedefinieerde sjabloon uitgelegd.

  • Definieer paden voor CSV-gegevensbestanden, .txt-sjabloonbestanden en bestandspaden voor PDF-uitvoerrapporten.
  • Instantieer CsvDataSoure met CSV-gegevensbestand.
  • Maak DataSourceInfo met de gedefinieerde CsvDataSource.
  • Roep de methode assembleDocument van de klasse DocumentAssembler aan om het gegenereerde PDF-rapport op te halen.

De volgende code laat zien hoe u CSV-gegevens converteert naar een PDF-rapport in Java.

// Genereer PDF-rapport van CSV-gegevens met behulp van TXT-sjabloon in Java met GroupDocs.Assembly API
// Definieer gegevensbron-, sjabloon- en uitvoerrapportbestanden.
String csvDataSource = "dataPath/Person.csv";
String templateFilePath = "templatePath/template.txt";
String reportFilePath = "reportsPath/reportFromCSV.pdf";

// Laod CSV-gegevensbron
CsvDataLoadOptions options = new CsvDataLoadOptions(true);
CsvDataSource datasource= new CsvDataSource(csvDataSource,options);
DataSourceInfo dataSourceInfo = new DataSourceInfo(datasource,"persons");

// Rapport genereren
DocumentAssembler assembler = new DocumentAssembler();
assembler.assembleDocument(templateFilePath, reportFilePath, dataSourceInfo);

Genereer MS Word-rapport van CSV-gegevens in Java

Het lijkt sterk op de bovenstaande PDF-rapportgeneratie, u kunt eenvoudig het MS Word DOC/DOCX-rapport maken 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.
  • De rest van de code blijft hetzelfde om een MS Word DOCX-rapport te genereren op basis van de CSV-gegevens.

De volgende code laat zien hoe CSV-gegevens naar een DOCX-rapport in Java worden geconverteerd.

// Genereer Word-rapport van CSV-gegevens met behulp van TXT-sjabloon in Java met GroupDocs.Assembly API
// Definieer gegevensbron-, sjabloon- en uitvoerrapportbestanden.
String csvDataSource = "dataPath/Person.csv";
String templateFilePath = "templatePath/template.txt";
String reportFilePath = "reportsPath/reportFromCSV.docx";

// Laad CSV-gegevensbron
CsvDataLoadOptions options = new CsvDataLoadOptions(true);
CsvDataSource datasource= new CsvDataSource(csvDataSource,options);
DataSourceInfo dataSourceInfo = new DataSourceInfo(datasource,"persons");

// Rapport genereren
DocumentAssembler assembler = new DocumentAssembler();
assembler.assembleDocument(templateFilePath, reportFilePath, dataSourceInfo);

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 CSV-gegevens om te zetten in PDF- en MS Word-rapporten in Java. Ik hoop dat u nu vertrouwd bent met het bouwen van uw eigen op Java gebaseerde toepassing om rapporten te genereren door CSV-gegevens naar PDF-indeling te converteren. Op dezelfde manier kunt u rapporten genereren met behulp van gegevensbronnen zoals JSON en XML.

Ga voor meer informatie over de API naar documentation en de GitHub-repository. Neem bij verdere vragen en onduidelijkheden contact op met de gratis ondersteuning op het forum.

Zie ook