Incapsulare dati visivi direttamente nei file Word può trasformare report statici in presentazioni coinvolgenti. Conholdate.Total for Java fornisce un SDK robusto che semplifica la creazione e l’inserimento di grafici nei documenti DOCX. In questa guida ti accompagneremo attraverso un esempio completo e compilabile che mostra come creare grafici nei documenti Word usando Java, configurare il grafico e salvare il risultato. Alla fine sarai in grado di automatizzare la generazione di documenti con grafici dinamici per qualsiasi scenario di reporting aziendale.
Esempio completo funzionante per incorporare grafici nei documenti Word con Java
Questo esempio dimostra come creare un grafico a colonne con cinque serie di dati e inserirlo in un documento Word.
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");
}
}
Nota: Questo esempio di codice dimostra la funzionalità principale. Prima di usarlo nel tuo progetto, assicurati che il percorso di output (
ColumnsChart.docx) punti a una directory scrivibile, verifica che tutte le dipendenze richieste siano correttamente installate e testa accuratamente nel tuo ambiente di sviluppo. Se incontri problemi, consulta la documentazione ufficiale o contatta il team di supporto per assistenza.
Come creare grafici nei documenti Word usando Java
Il flusso di lavoro può essere suddiviso in cinque passaggi chiari:
Crea un Document e DocumentBuilder - La classe
Documentrappresenta il file Word in memoria, eDocumentBuilderti fornisce un’API fluida per inserire contenuti, inclusi i grafici.Document doc = new Document(); DocumentBuilder builder = new DocumentBuilder(doc);Inserisci una forma di grafico -
insertChartaccetta unChartType(ad es.,COLUMN) insieme a una larghezza e un’altezza in punti, e restituisce unShapeche ospita il grafico nella pagina.Shape shape = builder.insertChart(ChartType.COLUMN, 432, 252);Accedi all’oggetto Chart - La proprietà
Chartdell’Shapeespone tutte le opzioni relative al grafico, inclusa la sua collezione di serie.
Chart chart = shape.getChart();
ChartSeriesCollection seriesColl = chart.getSeries();
System.out.println(seriesColl.getCount());
Consulta il riferimento API per tutti i dettagli su Chart, ChartSeriesCollection e gli enum correlati.
- Cancella le serie predefinite e aggiungi le tue - Un grafico appena inserito contiene già serie segnaposto, quindi
clear()le rimuove prima di aggiungere categorie e dati conadd(). Gli array di categorie e valori passati alla stessa chiamataadd()devono avere la stessa lunghezza.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. **Salva il documento** - Infine, `doc.save()` scrive il DOCX su disco.
<!--[CODE_SNIPPET_START]-->
```java
doc.save("ColumnsChart.docx");
Comprendere ciascuno di questi passaggi facilita l’adattamento dell’esempio a diversi tipi di grafico, fonti di dati o modelli di documento.
Preparare l’ambiente
Aggiungi il repository Maven di Conholdate e la dipendenza SDK al tuo 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>
Scarica l’ultimo pacchetto SDK dalla pagina di download. La libreria richiede Java 8 o versioni successive e funziona su qualsiasi JVM standard. Non sono necessari componenti server aggiuntivi.
Messa a punto della generazione di grafici
Puoi regolare diverse proprietà per adattarle al tuo stile visivo:
Tipo di grafico - Cambia
ChartType.COLUMNinChartType.BAR,ChartType.LINE,ChartType.PIE,ChartType.SCATTERe altri tipi supportati.Shape shape = builder.insertChart(ChartType.BAR, 432, 252);Dimensione del grafico - Il secondo e il terzo argomento di
insertChartcontrollano la larghezza e l’altezza della forma del grafico, in punti.Shape shape = builder.insertChart(ChartType.COLUMN, 500, 300);Categories (axis labels) - Crea un
String[]di nomi di categoria e riutilizzalo in tutte le serie che condividono le stesse categorie.String[] categories = new String[] { "Jan", "Feb", "Mar" };Serie di dati - Chiama
seriesColl.add()con un nome di serie, l’array delle categorie e undouble[]di valori per aggiungere quante serie comparative desideri.seriesColl.add("2021", categories, new double[] { 200, 220, 250 });
Queste opzioni ti consentono di personalizzare il grafico per qualsiasi esigenza di reporting mantenendo il codice conciso.
Inserimento di un grafico a dispersione in un documento Word utilizzando Java
Le diagrammi a dispersione tracciano coppie di valori numerici X e Y anziché categorie, il che li rende utili per visualizzare correlazioni o distribuzioni. ChartSeriesCollection espone una sovraccarico di add() specificamente per questo scopo: invece di un array di categorie, si passano due array double[], uno per i valori X e uno per i valori Y.
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");
}
}
Il flusso complessivo rispecchia l’esempio del grafico a colonne: crea un Document e DocumentBuilder, inserisci la forma del grafico con ChartType.SCATTER, ottieni il Chart dalla forma e aggiungi una o più serie. Poiché i grafici a dispersione tracciano coppie di coordinate X/Y, non esiste un array di categorie separato — ogni punto è definito dalle voci corrispondenti negli array dei valori X e Y. Salva con doc.save() una volta aggiunte tutte le serie.
Conclusione
Incorniciare i dati visuali direttamente nei file DOCX è un modo potente per migliorare i report automatizzati. Con Conholdate.Total for Java è possibile creare grafici nei documenti Word usando Java in poche righe di codice — inclusi grafici a colonne, a barre, a linee, a torta e a dispersione — personalizzare categorie e serie e generare documenti dall’aspetto professionale sul lato server. Ricorda di ottenere una licenza adeguata per l’uso in produzione; una licenza temporanea è disponibile nella pagina della licenza temporanea, e i dettagli completi dei prezzi possono essere consultati nella pagina dei prezzi. Inizia a integrare la generazione di grafici oggi stesso e offri ai tuoi utenti documenti basati sui dati che si distinguono.
Domande frequenti
Come posso creare grafici nei documenti Word usando Java con Conholdate.Total? Chiama
insertChartsu unDocumentBuildercon ilChartTypedesiderato, recupera ilChartdalloShaperestituito, cancella la serie predefinita e aggiungi le tue categorie e dati conseriesColl.add(), quindi salva il documento. Il codice completo è mostrato nell’esempio sopra.Quali tipi di grafico sono supportati? L’SDK supporta colonne, barre, linee, torta, dispersione e molti altri tipi di grafico standard tramite l’enumerazione
ChartType. Modifica il valore dell’enumerazione passato ainsertChartper cambiare i tipi.In che modo un grafico a dispersione differisce da un grafico a colonne o a barre? Un grafico a dispersione traccia coppie di valori numerici X e Y invece di categorie denominate, quindi utilizzi il sovraccarico
add(name, xValues, yValues)diChartSeriesCollectionanziché passare un array di categorie.Devo impostare una licenza per la generazione di grafici? Sì. È possibile ottenere una licenza temporanea dalla pagina della licenza temporanea. Per progetti a lungo termine, acquista una licenza completa tramite la pagina dei prezzi.
L’SDK è compatibile con le build Maven e Gradle? Assolutamente. Aggiungi il repository Maven di Conholdate e la dipendenza
conholdate-totalal tuo file di build come mostrato nella sezione Setup, e la libreria funziona sia con Maven che con Gradle.
