Comma Separated Values (CSV) ist ein Dateiformat zum Speichern der Daten in Form von Klartext, wobei die Werte durch Kommas getrennt sind. CSV wird häufig zum Austausch von Daten zwischen Anwendungen verwendet. Als Entwickler müssen wir oft die großen CSV-Daten in ein ansehnliches Format umwandeln. In diesem Artikel erfahren Sie, wie Sie mithilfe einer einfachen Vorlage CSV-Daten in PDF- und MS Word-Berichte in Java konvertieren.

Nachfolgend werden folgende Themen behandelt:

Java-API zur Berichterstellung

GroupDocs.Assembly for Java ist die Berichterstellungs-API, die ich in diesem Artikel verwendet habe, um Berichte aus den ausgewählten CSV-Daten und einer Vorlage im TXT-Format zu generieren. Es unterstützt auch die Automatisierung der Berichterstellung aus mehreren Datenquellen wie JSON, XML und auch aus MS Word-, Excel- und PowerPoint-Dateien als Datendateien.

Herunterladen oder Konfigurieren

Sie können die JAR-Datei aus dem Download-Bereich herunterladen oder einfach die Repository- und Abhängigkeitskonfigurationen für die pom.xml Ihrer maven-basierten Java-Anwendungen abrufen.

<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>

Generieren Sie einen PDF-Bericht aus CSV-Daten in Java

Beginnen wir mit der Umwandlung von Daten in ein präsentables PDF. Die folgenden Schritte führen Sie zum Konvertieren von CSV-Daten in einen formatierten PDF-Bericht.

  • CSV-Datenquelle laden
  • Vorlage gemäß den CSV-Daten definieren
  • Geben Sie eine CSV-Datenquelle und eine Vorlage für eine einfache Methode zum Generieren eines PDF-Berichts an.
CSV-zu-PDF-Bericht in Java

CSV-Daten

Für die Erstellung des PDF-Berichts verwende ich die folgenden Beispiel-CSV-Daten verschiedener Personen zusammen mit ihrem jeweiligen Alter und Geburtsdatum.

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

Schablone

Definieren Sie die folgende Vorlage im TXT- oder DOCX-Format. Dies ermöglicht das Iterieren der Personenliste mit ihren Details. Danach können Sie zum Code für die Berichterstellung springen.

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

Java-Schritte zum Generieren eines PDF-Berichts aus CSV

Die folgenden Schritte erläutern die automatische Konvertierung von CSV-Daten in einen PDF-Bericht gemäß der definierten Vorlage.

  • Definieren Sie CSV-Datendatei, .txt-Vorlagendatei und Dateipfade für PDF-Ausgabeberichte.
  • Instanziiere CsvDataSoure mit CSV-Datendatei.
  • Erstellen Sie DataSourceInfo mit der definierten CsvDataSource.
  • Rufen Sie die Methode assembleDocument der Klasse DocumentAssembler auf, um den generierten PDF-Bericht zu erhalten.

Der folgende Code zeigt, wie CSV-Daten in einen PDF-Bericht in Java konvertiert werden.

// Generieren Sie einen PDF-Bericht aus CSV-Daten mithilfe einer TXT-Vorlage in Java mit der GroupDocs.Assembly-API
// Definieren Sie Datenquelle, Vorlage und Ausgabeberichtsdateien.
String csvDataSource = "dataPath/Person.csv";
String templateFilePath = "templatePath/template.txt";
String reportFilePath = "reportsPath/reportFromCSV.pdf";

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

// Bericht generieren
DocumentAssembler assembler = new DocumentAssembler();
assembler.assembleDocument(templateFilePath, reportFilePath, dataSourceInfo);

Generieren Sie einen MS Word-Bericht aus CSV-Daten in Java

Es ist der obigen PDF-Berichterstellung sehr ähnlich, Sie können den MS Word DOC/DOCX-Bericht einfach aus den CSV-Daten erstellen:

  • Laden Sie die CSV-Daten aus der Datei.
  • Definition der Vorlage im TXT- oder DOCX-Format.
  • Legen Sie das Dokumentformat des Ausgabeberichts als DOC/DOCX fest.
  • Der Rest des Codes bleibt derselbe, um einen MS Word DOCX-Bericht aus den CSV-Daten zu generieren.

Der folgende Code zeigt, wie CSV-Daten in einen DOCX-Bericht in Java konvertiert werden.

// Erstellen Sie einen Word-Bericht aus CSV-Daten mithilfe einer TXT-Vorlage in Java mit der GroupDocs.Assembly-API
// Definieren Sie Datenquelle, Vorlage und Ausgabeberichtsdateien.
String csvDataSource = "dataPath/Person.csv";
String templateFilePath = "templatePath/template.txt";
String reportFilePath = "reportsPath/reportFromCSV.docx";

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

// Bericht generieren
DocumentAssembler assembler = new DocumentAssembler();
assembler.assembleDocument(templateFilePath, reportFilePath, dataSourceInfo);

Holen Sie sich eine kostenlose API-Lizenz

Sie können eine kostenlose temporäre Lizenz erhalten, um die API ohne die Evaluierungseinschränkungen zu verwenden.

Fazit

Zusammenfassend haben Sie gelernt, die CSV-Daten in PDF- und MS-Word-Berichte in Java umzuwandeln. Ich hoffe, Sie können jetzt Ihre eigene Java-basierte Anwendung erstellen, um Berichte zu erstellen, indem Sie CSV-Daten in das PDF-Format konvertieren. Ebenso können Sie Berichte mit Datenquellen wie JSON und XML generieren.

Weitere Informationen zur API finden Sie in der Dokumentation und im GitHub-Repository. Bei weiteren Fragen und Unklarheiten wenden Sie sich an den kostenlosen Support im Forum.

Siehe auch