Das Einbetten visueller Daten direkt in Word-Dateien kann statische Berichte in überzeugende Präsentationen verwandeln. Conholdate.Total for Java bietet ein robustes SDK, das die Erstellung und das Einfügen von Diagrammen in DOCX Dokumente vereinfacht. In diesem Leitfaden führen wir Sie durch ein vollständiges, kompilierbares Beispiel, das zeigt, wie man Diagramme in Word-Dokumenten mit Java erstellt, das Diagramm konfiguriert und das Ergebnis speichert. Am Ende können Sie die Dokumentenerstellung mit dynamischen Diagrammen für jedes geschäftliche Berichtsszenario automatisieren.
Vollständiges funktionierendes Beispiel für das Einbetten von Diagrammen in Word-Dokumente mit Java
Dieses Beispiel zeigt, wie man ein Säulendiagramm mit fünf Datenreihen erstellt und in ein Word‑Dokument einfügt.
import com.aspose.words.Document;
import com.aspose.words.DocumentBuilder;
import com.aspose.words.Shape;
import com.aspose.words.ChartType;
import com.aspose.words.Chart;
import com.aspose.words.ChartSeriesCollection;
public class CreateChartInWord {
public static void main(String[] args) {
// Create a document
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
// Add chart with default data. You can specify different chart types and sizes.
Shape shape = builder.insertChart(ChartType.COLUMN, 432, 252);
// Chart property of Shape contains all chart related options.
Chart chart = shape.getChart();
// Get chart series collection.
ChartSeriesCollection seriesColl = chart.getSeries();
// Check series count.
System.out.println(seriesColl.getCount());
// Delete default generated series.
seriesColl.clear();
// Create category names array, in this example we have two categories.
String[] categories = new String[] { "AW Category 1", "AW Category 2" };
// Adding new series. Please note, data arrays must not be empty and arrays must be the same size.
seriesColl.add("AW Series 1", categories, new double[] { 1, 2 });
seriesColl.add("AW Series 2", categories, new double[] { 3, 4 });
seriesColl.add("AW Series 3", categories, new double[] { 5, 6 });
seriesColl.add("AW Series 4", categories, new double[] { 7, 8 });
seriesColl.add("AW Series 5", categories, new double[] { 9, 10 });
// Save the document
doc.save("ColumnsChart.docx");
}
}
Hinweis: Dieses Codebeispiel demonstriert die Kernfunktionalität. Bevor Sie es in Ihrem Projekt verwenden, stellen Sie sicher, dass der Ausgabepfad (
ColumnsChart.docx) auf ein beschreibbares Verzeichnis verweist, prüfen Sie, dass alle erforderlichen Abhängigkeiten korrekt installiert sind, und testen Sie gründlich in Ihrer Entwicklungsumgebung. Wenn Sie auf Probleme stoßen, lesen Sie bitte die offizielle Dokumentation oder wenden Sie sich an das Support-Team für Unterstützung.
Wie das Erstellen von Diagrammen in Word-Dokumenten mit Java funktioniert
Der Workflow lässt sich in fünf klare Schritte unterteilen:
Ein Dokument und DocumentBuilder erstellen - Die
Document-Klasse repräsentiert die Word-Datei im Speicher, undDocumentBuilderbietet Ihnen eine fluente API zum Einfügen von Inhalten, einschließlich Diagrammen.Document doc = new Document(); DocumentBuilder builder = new DocumentBuilder(doc);Ein Diagramm-Shape einfügen -
insertChartnimmt einenChartType(z. B.COLUMN) zusammen mit einer Breite und Höhe in Punkten entgegen und gibt einShapezurück, das das Diagramm auf der Seite hostet.Shape shape = builder.insertChart(ChartType.COLUMN, 432, 252);Zugriff auf das Diagrammobjekt - Die
Chart‑Eigenschaft desShapestellt alle diagrammbezogenen Optionen bereit, einschließlich seiner Serienkollektion.Chart chart = shape.getChart(); ChartSeriesCollection seriesColl = chart.getSeries(); System.out.println(seriesColl.getCount());Siehe die API‑Referenz für vollständige Details zu
Chart,ChartSeriesCollectionund zugehörigen Aufzählungen.Standardreihen löschen und eigene hinzufügen - Ein neu eingefügtes Diagramm enthält bereits Platzhalterreihen, sodass
clear()sie entfernt, bevor Sie Kategorien und Daten mitadd()hinzufügen. Kategorien‑ und Werte‑Arrays, die im selbenadd()‑Aufruf übergeben werden, müssen dieselbe Länge haben.
seriesColl.clear();
String[] categories = new String[] { "AW Category 1", "AW Category 2" };
seriesColl.add("AW Series 1", categories, new double[] { 1, 2 });
seriesColl.add("AW Series 2", categories, new double[] { 3, 4 });
- Dokument speichern - Schließlich schreibt
doc.save()das DOCX auf die Festplatte.doc.save("ColumnsChart.docx");
Das Verständnis jedes dieser Schritte erleichtert die Anpassung des Beispiels an verschiedene Diagrammtypen, Datenquellen oder Dokumentvorlagen.
Umgebung vorbereiten
Fügen Sie das Conholdate Maven-Repository und die SDK-Abhängigkeit zu Ihrer pom.xml hinzu:
<repositories>
<repository>
<id>conholdate-repo</id>
<name>Conholdate Maven Repository</name>
<url>https://repository.conholdate.com/repo/</url>
</repository>
</repositories>
<dependency>
<groupId>com.conholdate</groupId>
<artifactId>conholdate-total</artifactId>
<version>24.9</version>
<type>pom</type>
</dependency>
Laden Sie das neueste SDK‑Paket von der Download‑Seite herunter. Die Bibliothek erfordert Java 8 oder höher und läuft auf jeder Standard‑JVM. Es werden keine zusätzlichen Serverkomponenten benötigt.
Feinabstimmung der Diagrammerstellung
Sie können mehrere Eigenschaften anpassen, um Ihren visuellen Stil zu entsprechen:
- Chart Type - Ändern Sie
ChartType.COLUMNzuChartType.BAR,ChartType.LINE,ChartType.PIE,ChartType.SCATTERund anderen unterstützten Typen.
Shape shape = builder.insertChart(ChartType.BAR, 432, 252);
Diagrammgröße - Das zweite und dritte Argument von
insertChartsteuert die Breite und Höhe der Diagrammform, in Punkten.Shape shape = builder.insertChart(ChartType.COLUMN, 500, 300);Kategorien (Achsenbeschriftungen) - Erstellen Sie ein
String[]mit Kategorienamen und verwenden Sie es erneut für jede Serie, die dieselben Kategorien verwendet.
String[] categories = new String[] { "Jan", "Feb", "Mar" };
- Datenreihen – Rufen Sie
seriesColl.add()mit einem Seriennamen, dem Kategorien‑Array und einemdouble[]von Werten auf, um so viele Vergleichsreihen hinzuzufügen, wie Sie benötigen.
seriesColl.add("2021", categories, new double[] { 200, 220, 250 });
Diese Optionen ermöglichen es Ihnen, das Diagramm an jede Berichtsanforderung anzupassen und gleichzeitig den Code kompakt zu halten.
Einfügen eines Streudiagramms in ein Word-Dokument mit Java
Scatter‑Diagramme plotten Paare numerischer X‑ und Y‑Werte anstelle von Kategorien, was sie nützlich macht, um Korrelationen oder Verteilungen zu visualisieren. ChartSeriesCollection stellt eine Überladung von add() speziell für diesen Zweck bereit: Statt eines Kategorien‑Arrays übergeben Sie zwei double[]‑Arrays, eines für die X‑Werte und eines für die Y‑Werte.
import com.aspose.words.Document;
import com.aspose.words.DocumentBuilder;
import com.aspose.words.Shape;
import com.aspose.words.ChartType;
import com.aspose.words.Chart;
public class InsertScatterChart {
public static void main(String[] args) {
// Create a new document
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
// Insert Scatter chart.
Shape shape = builder.insertChart(ChartType.SCATTER, 432, 252);
Chart chart = shape.getChart();
// Use this overload to add series to any type of Scatter charts.
chart.getSeries().add("AW Series 1", new double[] { 0.7, 1.8, 2.6 }, new double[] { 2.7, 3.2, 0.8 });
// Save the document
doc.save("ScatterChart.docx");
}
}
Der gesamte Ablauf spiegelt das Beispiel des Säulendiagramms wider: Erstellen Sie ein Document und einen DocumentBuilder, fügen Sie die Diagrammform mit ChartType.SCATTER ein, holen Sie das Chart aus der Form und fügen Sie eine oder mehrere Serien hinzu. Da Streudiagramme X/Y‑Koordinatenpaare plotten, gibt es kein separates Kategorien‑Array — jeder Punkt wird durch übereinstimmende Einträge in den X‑ und Y‑Wert‑Arrays definiert. Speichern Sie mit doc.save(), sobald alle Serien hinzugefügt wurden.
Fazit
Einbetten visueller Daten direkt in DOCX-Dateien ist eine leistungsstarke Methode, um automatisierte Berichte zu verbessern. Mit Conholdate.Total for Java können Sie Diagramme in Word-Dokumenten mit Java in nur wenigen Codezeilen erstellen — einschließlich Säulen-, Balken-, Linien-, Kreis- und Streudiagrammen — Kategorien und Serien anpassen und professionell aussehende Dokumente serverseitig generieren. Denken Sie daran, für den Produktionseinsatz eine gültige Lizenz zu erwerben; eine temporäre Lizenz ist auf der temporären Lizenzseite verfügbar, und vollständige Preisinformationen können auf der Preisübersichtsseite eingesehen werden. Beginnen Sie noch heute mit der Integration der Diagrammerstellung und bieten Sie Ihren Benutzern datengetriebene Dokumente, die herausstechen.
FAQs
Wie kann ich Diagramme in Word-Dokumenten mit Java und Conholdate.Total erstellen? Rufen Sie
insertChartauf einemDocumentBuildermit dem gewünschtenChartTypeauf, holen Sie dasChartaus dem zurückgegebenenShape, löschen Sie die Standardsereien und fügen Sie Ihre eigenen Kategorien und Daten mitseriesColl.add()hinzu, dann speichern Sie das Dokument. Der vollständige Code ist im obigen Beispiel gezeigt.Welche Diagrammtypen werden unterstützt? Das SDK unterstützt Spalten-, Balken-, Linien-, Kreis-, Streu- und viele andere Standarddiagrammtypen über das
ChartType‑Enum. Ändern Sie den aninsertChartübergebenen Enum‑Wert, um den Typ zu wechseln.Wie unterscheidet sich ein Streudiagramm von einem Säulen- oder Balkendiagramm? Ein Streudiagramm stellt Paare numerischer X- und Y-Werte dar, anstatt benannte Kategorien zu verwenden, sodass Sie die Überladung
add(name, xValues, yValues)vonChartSeriesCollectionverwenden, anstatt ein Kategorien-Array zu übergeben.Muss ich eine Lizenz für die Diagrammerstellung festlegen? Ja. Eine temporäre Lizenz kann von der temporären Lizenzseite erhalten werden. Für langfristige Projekte kaufen Sie eine Volllizenz über die Preisübersichtsseite.
Ist das SDK mit Maven- und Gradle-Builds kompatibel? Absolut. Fügen Sie das Conholdate Maven-Repository und die
conholdate-total-Abhängigkeit zu Ihrer Build-Datei hinzu, wie im Abschnitt Setup gezeigt, und die Bibliothek funktioniert sowohl mit Maven als auch mit Gradle.
