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:

  1. Ein Dokument und DocumentBuilder erstellen - Die Document-Klasse repräsentiert die Word-Datei im Speicher, und DocumentBuilder bietet Ihnen eine fluente API zum Einfügen von Inhalten, einschließlich Diagrammen.

    Document doc = new Document();
    DocumentBuilder builder = new DocumentBuilder(doc);
    
  2. Ein Diagramm-Shape einfügen - insertChart nimmt einen ChartType (z. B. COLUMN) zusammen mit einer Breite und Höhe in Punkten entgegen und gibt ein Shape zurück, das das Diagramm auf der Seite hostet.

    Shape shape = builder.insertChart(ChartType.COLUMN, 432, 252);
    
  3. Zugriff auf das Diagrammobjekt - Die Chart‑Eigenschaft des Shape stellt 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, ChartSeriesCollection und zugehörigen Aufzählungen.

  4. 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 mit add() hinzufügen. Kategorien‑ und Werte‑Arrays, die im selben add()‑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 });
  1. 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.COLUMN zu ChartType.BAR, ChartType.LINE, ChartType.PIE, ChartType.SCATTER und anderen unterstützten Typen.
Shape shape = builder.insertChart(ChartType.BAR, 432, 252);
  • Diagrammgröße - Das zweite und dritte Argument von insertChart steuert 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 einem double[] 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 insertChart auf einem DocumentBuilder mit dem gewünschten ChartType auf, holen Sie das Chart aus dem zurückgegebenen Shape, löschen Sie die Standardsereien und fügen Sie Ihre eigenen Kategorien und Daten mit seriesColl.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 an insertChart ü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) von ChartSeriesCollection verwenden, 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.

Mehr lesen