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:

  1. Crea un Document e DocumentBuilder - La classe Document rappresenta il file Word in memoria, e DocumentBuilder ti fornisce un’API fluida per inserire contenuti, inclusi i grafici.

    Document doc = new Document();
    DocumentBuilder builder = new DocumentBuilder(doc);
    
  2. Inserisci una forma di grafico - insertChart accetta un ChartType (ad es., COLUMN) insieme a una larghezza e un’altezza in punti, e restituisce un Shape che ospita il grafico nella pagina.

    Shape shape = builder.insertChart(ChartType.COLUMN, 432, 252);
    
  3. Accedi all’oggetto Chart - La proprietà Chart dell’Shape espone 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.

  1. 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 con add(). Gli array di categorie e valori passati alla stessa chiamata add() 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.COLUMN in ChartType.BAR, ChartType.LINE, ChartType.PIE, ChartType.SCATTER e altri tipi supportati.

    Shape shape = builder.insertChart(ChartType.BAR, 432, 252);
    
  • Dimensione del grafico - Il secondo e il terzo argomento di insertChart controllano 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 un double[] 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 insertChart su un DocumentBuilder con il ChartType desiderato, recupera il Chart dallo Shape restituito, cancella la serie predefinita e aggiungi le tue categorie e dati con seriesColl.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 a insertChart per 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) di ChartSeriesCollection anziché 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-total al tuo file di build come mostrato nella sezione Setup, e la libreria funziona sia con Maven che con Gradle.

Leggi di più