Generieren Sie Berichte aus Excel-Daten in Java

Sie können Ihren Benutzern wie Kunden, Stakeholdern usw. Microsoft Excel-Daten in Form von benutzerdefinierten Berichten präsentieren. Als Java-Entwickler können Sie solche Berichte programmgesteuert generieren, indem Sie Excel-Tabellen als Datentabelle verwenden. In diesem Artikel erfahren Sie, wie Sie mit Java Berichte aus Excel-Daten generieren.

Die folgenden Themen werden in diesem Artikel behandelt/behandelt:

Java-API zum Generieren von Berichten

Zum Generieren der Berichte aus Excel-Daten verwende ich die API GroupDocs.Assembly for Java. Es ermöglicht Ihnen, leistungsstarke Anwendungen zur Dokumentenautomatisierung und Berichterstellung zu erstellen. Es holt Daten aus der Datenquelle gemäß dem definierten Vorlagendokument, stellt sie zusammen und generiert Berichte im angegebenen Ausgabeformat. Die API unterstützt das Abrufen von Daten aus verschiedenen Datenquellen wie XML, Excel, JSON und CSV. Sie können problemlos Berichte in allen gängigen Dateiformaten wie PDF, HTML und Microsoft Word erstellen.

Sie können das JAR der API herunterladen oder einfach die folgende pom.xml-Konfiguration in Ihrer Maven-basierten Java-Anwendung hinzufügen, um die unten aufgeführten Codebeispiele auszuprobieren.

<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.7</version> 
</dependency>

Generieren Sie Berichte aus Excel-Daten mit Java

Sie können ganz einfach Berichte in Word aus Ihren Excel-Daten erstellen, indem Sie die folgenden einfachen Schritte befolgen:

  1. [Excel-Datenquelle] abrufen (#get-excel-data)
  2. Definieren Sie eine [Vorlage] (#Vorlage) gemäß Excel-Daten
  3. Excel-Daten in Word-Bericht in Java konvertieren

Excel-Datenquelle

Sie können die in der Excel-Tabelle bereitgestellten Tabellendaten als Datenquelle verwenden, um Berichte zu erstellen. Ich werde die folgenden Excel-Beispieldaten zum Erstellen des Berichts verwenden. Dies sind die Vertragsdaten der Kunden mit ihren jeweiligen Managern und der vereinbarte Vertragspreis.

Excel-Datenquelle

Excel-Datenquelle

Schablone

Sie können eine Linq-basierte Vorlagensyntax verwenden, um eine Vorlage zu erstellen. Eine Vorlage besteht aus gemeinsamen Dokumentinhalten und Tags, die die Struktur und die Datenbindungen der Vorlage beschreiben. Sie können die folgende Vorlage in der DOCX- oder XLSX-Datei definieren. Mit dieser Vorlage können Sie die Vertragsdaten und ihre jeweiligen Manager mit dem Vertragspreis iterieren. Jede Gruppe in der Vorlage hat einen eindeutigen Schlüssel, der durch den Eingabeselektor definiert ist, und enthält Elemente der Quellenaufzählung, die diesem Schlüssel zugeordnet sind. Auf den Schlüssel einer Gruppeninstanz können Sie über die Eigenschaft Key zugreifen. Sobald Sie die Vorlage erstellt haben, können Sie in den Code zum Generieren des Berichts springen. Weitere Informationen zu Vorlagensyntax finden Sie in der Dokumentation.

Berichtsvorlage

Berichtsvorlage

Konvertieren Sie Excel-Daten in einen Word-Bericht in Java

Sie können die Konvertierung von Excel-Daten in den DOCX-Bericht basierend auf der Vorlage automatisieren, indem Sie die folgenden Schritte ausführen:

Das folgende Codebeispiel zeigt, wie Sie einen Bericht aus einer Excel-Datenquelle gemäß der definierten Vorlage mit Java generieren.

String srcDocument = "C:\\Files\\template.docx";
String docReport = "C:\\Files\\Output.docx";
String dataFilePath = "C:\\Files\\Contracts_Data.xlsx";

// Stellen Sie das Extrahieren von Spaltennamen aus der ersten Zeile ein.
DocumentTableOptions options = new DocumentTableOptions();
options.setFirstRowContainsColumnNames(true);

// Dokumenttabelle erstellen
DocumentTable table = new DocumentTable(dataFilePath, 0, options);

// Dokument-Assembler erstellen
DocumentAssembler assembler = new DocumentAssembler();

// Daten zusammenstellen und Bericht erstellen
assembler.assembleDocument(srcDocument,docReport, 
  new DataSourceInfo(new DataStorage(), null),
  new DataSourceInfo(table,"ds"));
Generierter Bericht

Generierter Bericht

Die DocumentTableOptions-Klasse stellt eine Reihe von Optionen bereit, um die Extraktion von Daten aus einer Dokumenttabelle zu steuern. Ich setze die FirstRowContainsColumnNames-Eigenschaft auf „true“, damit die Spaltenüberschriften nicht Teil der Berichtsdaten werden.

Die DocumentTable-Klasse bietet Zugriff auf die Daten einer einzelnen Tabelle (oder einer Tabelle) in einem externen Dokument, die beim Zusammenstellen eines Dokuments verwendet werden soll.

Die DocumentAssembler-Klasse bietet verschiedene Methoden zum Generieren von Berichten unter Verwendung des definierten Vorlagendokuments mit Daten. Die MethodeassembleDocument() dieser Klasse nimmt drei Eingabeparameter, die definierte Vorlage als Quelldokument, den Pfad der Ausgabedatei und die Datenquelle. Es füllt die Daten aus der Datenquelle basierend auf dem bereitgestellten Vorlagendokument und speichert das resultierende Dokument im Zielpfad. Sie können das resultierende Dokument in verschiedenen unterstützten Dateiformaten wie Word, Excel oder HTML speichern.

Holen Sie sich eine kostenlose Lizenz

Sie können die API ohne Evaluierungseinschränkungen testen, indem Sie eine kostenlose temporäre Lizenz anfordern.

Fazit

In diesem Artikel haben Sie gelernt, wie Sie mit Java Berichte aus Excel-Daten generieren. Außerdem haben Sie gelernt, wie Sie eine Berichtsvorlage erstellen, um Berichte zu generieren. Weitere Informationen zu GroupDocs.Assembly für die Java-API finden Sie in der Dokumentation. Bei Unklarheiten können Sie uns gerne im Forum kontaktieren.

Siehe auch