Visuele gegevens direct in Word‑bestanden insluiten kan statische rapporten omzetten in overtuigende presentaties. Conholdate.Total for Java biedt een robuuste SDK die het maken en invoegen van grafieken in DOCX documenten vereenvoudigt. In deze gids lopen we je stap voor stap door een compleet, compileerbaar voorbeeld dat laat zien hoe je grafieken in Word‑documenten maakt met Java, de grafiek configureert en het resultaat opslaat. Aan het einde kun je documentgeneratie automatiseren met dynamische grafieken voor elk bedrijfsrapportagescenario.
Volledig werkend voorbeeld voor het insluiten van grafieken in Word‑documenten met Java
Dit voorbeeld laat zien hoe u een kolomdiagram met vijf gegevensreeksen kunt maken en deze in een Word‑document kunt invoegen.
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");
}
}
Opmerking: Dit codevoorbeeld toont de kernfunctionaliteit. Voordat u het in uw project gebruikt, moet u ervoor zorgen dat het uitvoerpad (
ColumnsChart.docx) naar een schrijfbare map wijst, controleren of alle vereiste afhankelijkheden correct zijn geïnstalleerd, en grondig testen in uw ontwikkelomgeving. Als u problemen ondervindt, raadpleeg dan de officiële documentatie of neem contact op met het ondersteuningsteam voor hulp.
Hoe het maken van grafieken in Word-documenten met Java werkt
De workflow kan worden opgesplitst in vijf duidelijke stappen:
Maak een Document en DocumentBuilder - De
Document-klasse vertegenwoordigt het Word‑bestand in het geheugen, enDocumentBuilderbiedt een vloeiende API voor het invoegen van inhoud, inclusief grafieken.Document doc = new Document(); DocumentBuilder builder = new DocumentBuilder(doc);Een grafiekvorm invoegen -
insertChartneemt eenChartType(bijv.COLUMN) samen met een breedte en hoogte in punten, en retourneert eenShapedie de grafiek op de pagina host.Shape shape = builder.insertChart(ChartType.COLUMN, 432, 252);Toegang tot het Chart-object - De
Chart-eigenschap van deShapegeeft alle chart-gerelateerde opties weer, inclusief de seriecollectie.Chart chart = shape.getChart(); ChartSeriesCollection seriesColl = chart.getSeries(); System.out.println(seriesColl.getCount());Zie de API-referentie voor volledige details over
Chart,ChartSeriesCollectionen gerelateerde enumeraties.Verwijder de standaardseries en voeg uw eigen toe - Een nieuw ingevoegde grafiek bevat al placeholder-series, dus
clear()verwijdert ze voordat u categorieën en gegevens toevoegt metadd(). Categorie- en waardearrays die aan dezelfdeadd()-aanroep worden doorgegeven, moeten dezelfde lengte hebben.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 });
<!--[CODE_SNIPPET_END]-->
5. **Document opslaan** - Ten slotte schrijft `doc.save()` het DOCX naar de schijf.
<!--[CODE_SNIPPET_START]-->
```java
doc.save("ColumnsChart.docx");
Het begrijpen van elk van deze stappen maakt het eenvoudig om het voorbeeld aan te passen voor verschillende grafiektypen, gegevensbronnen of documentsjablonen.
De omgeving gereed maken
Voeg de Conholdate Maven-repository en de SDK-afhankelijkheid toe aan uw pom.xml:
<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>
Download het nieuwste SDK‑pakket van de downloadpagina. De bibliotheek vereist Java 8 of hoger en werkt op elke standaard JVM. Er zijn geen extra servercomponenten nodig.
Fijnafstemming van grafiekgeneratie
U kunt verschillende eigenschappen aanpassen om uw visuele stijl te laten overeenkomen:
Chart Type - Verander
ChartType.COLUMNnaarChartType.BAR,ChartType.LINE,ChartType.PIE,ChartType.SCATTER, en andere ondersteunde types.Shape shape = builder.insertChart(ChartType.BAR, 432, 252);Grafiekgrootte - De tweede en derde argumenten van
insertChartbepalen de breedte en hoogte van de grafiekvorm, in punten.Shape shape = builder.insertChart(ChartType.COLUMN, 500, 300);Categorieën (asielabels) - Maak een
String[]van categorienamen en hergebruik deze in elke serie die dezelfde categorieën deelt.
String[] categories = new String[] { "Jan", "Feb", "Mar" };
- Gegevensreeks - Roep
seriesColl.add()aan met een serienaam, de categorie‑array en eendouble[]met waarden om zoveel vergelijkende series toe te voegen als u nodig heeft.seriesColl.add("2021", categories, new double[] { 200, 220, 250 });
Deze opties stellen je in staat om de grafiek aan elke rapportage‑eis aan te passen, terwijl de code beknopt blijft.
Een spreidingsgrafiek invoegen in een Word-document met Java
Spreidingsgrafieken plotten paren van numerieke X- en Y-waarden in plaats van categorieën, waardoor ze nuttig zijn voor het visualiseren van correlaties of distributies. ChartSeriesCollection biedt een overload van add() specifiek voor dit doel: in plaats van een categorie‑array geef je twee double[] arrays door, één voor de X‑waarden en één voor de Y‑waarden.
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");
}
}
De algehele stroom weerspiegelt het kolomgrafiekvoorbeeld: maak een Document en DocumentBuilder, voeg de grafiekvorm in met ChartType.SCATTER, haal de Chart uit de vorm, en voeg een of meer series toe. Omdat spreidingsgrafieken X/Y‑coördinaatparen plotten, is er geen aparte categorie‑array — elk punt wordt gedefinieerd door overeenkomende items in de X‑ en Y‑waarde‑arrays. Sla op met doc.save() zodra alle series zijn toegevoegd.
Conclusie
Visuele gegevens direct in DOCX‑bestanden insluiten is een krachtige manier om geautomatiseerde rapporten te verbeteren. Met Conholdate.Total for Java kun je diagrammen maken in Word‑documenten met Java in slechts een paar regels code — inclusief kolom‑, staaf‑, lijn‑, taart‑ en spreidingsdiagrammen — categorieën en series aanpassen en professioneel ogende documenten aan de serverzijde genereren. Vergeet niet een juiste licentie voor productiegebruik te verkrijgen; een tijdelijke licentie is beschikbaar op de tijdelijke licentiepagina, en volledige prijsdetails kunnen worden bekeken op de prijspagina. Begin vandaag nog met het integreren van diagramgeneratie en geef je gebruikers datagestuurde documenten die opvallen.
FAQs
Hoe kan ik diagrammen maken in Word‑documenten met Java en Conholdate.Total? Roep
insertChartaan op eenDocumentBuildermet het gewensteChartType, haal deChartop uit de geretourneerdeShape, maak de standaardreeks leeg, en voeg uw eigen categorieën en gegevens toe metseriesColl.add(), sla vervolgens het document op. De volledige code wordt getoond in het voorbeeld hierboven.Welke grafiektype(s) worden ondersteund? De SDK ondersteunt kolom-, staaf-, lijn-, taart-, spreidings- en vele andere standaardgrafiektype via de
ChartType-enum. Wijzig de enum-waarde die aaninsertChartwordt doorgegeven om van type te wisselen.Hoe verschilt een spreidingsdiagram van een kolom- of staafdiagram? Een spreidingsdiagram plot paren van numerieke X- en Y-waarden in plaats van benoemde categorieën, dus gebruik je de overload
add(name, xValues, yValues)vanChartSeriesCollectionin plaats van een categorie-array door te geven.Moet ik een licentie instellen voor het genereren van grafieken? Ja. Een tijdelijke licentie kan worden verkregen via de tijdelijke licentiepagina. Voor langdurige projecten kunt u een volledige licentie aanschaffen via de prijspagina.
Is de SDK compatibel met Maven- en Gradle-builds? Zeker. Voeg de Conholdate Maven-repository en de
conholdate-total-dependency toe aan uw build‑bestand zoals weergegeven in de Setup‑sectie, en de bibliotheek werkt met zowel Maven als Gradle.
