Genera report da dati Excel in Java

Puoi presentare i dati di Microsoft Excel sotto forma di report personalizzati ai tuoi utenti come clienti, parti interessate, ecc. In qualità di sviluppatore Java, puoi generare tali report a livello di codice utilizzando fogli di calcolo Excel come tabella di dati. In questo articolo imparerai come generare report dai dati di Excel utilizzando Java.

I seguenti argomenti sono discussi/trattati in questo articolo:

API Java per la generazione di report

Per generare i report dai dati di Excel, utilizzerò l’API GroupDocs.Assembly per Java. Ti consente di creare potenti applicazioni di automazione dei documenti e generazione di report. Recupera i dati dall’origine dati in base al documento modello definito, lo assembla e genera report nel formato di output specificato. L’API supporta il recupero dei dati da varie origini dati come XML, Excel, JSON e CSV. Puoi generare facilmente report in tutti i formati di file comunemente usati come PDF, HTML e Microsoft Word.

Puoi scaricare il JAR dell’API o semplicemente aggiungere la seguente configurazione pom.xml nella tua applicazione Java basata su Maven per provare gli esempi di codice indicati di seguito.

<repository>
	<id>GroupDocsJavaAPI</id>
	<name>GroupDocs Java API</name>
	<url>http://repository.groupdocs.com/repo/</url>
</repository>
<dependency>
        <groupId>com.groupdocs</groupId>
        <artifactId>groupdocs-assembly</artifactId>
        <version>21.7</version> 
</dependency>

Genera report da dati Excel utilizzando Java

Puoi facilmente generare report in Word dai tuoi dati Excel seguendo i semplici passaggi indicati di seguito:

  1. Ottieni origine dati Excel
  2. Definisci un modello in base ai dati di Excel
  3. Converti i dati di Excel in Word Report in Java

Sorgente dati Excel

È possibile utilizzare i dati tabulari come origine dati fornita nel foglio di calcolo di Excel per generare report. Userò i seguenti dati di esempio di Excel per generare il rapporto. Si tratta dei dati contrattuali dei clienti con i rispettivi gestori e del prezzo contrattuale concordato.

Sorgente dati Excel

Sorgente dati Excel

Modello

È possibile utilizzare una sintassi del modello basata su Linq per creare un modello. Un modello è composto da contenuti e tag di documenti comuni che descrivono la struttura del modello e le associazioni di dati. È possibile definire il seguente modello nel file DOCX o XLSX. Questo modello consente di iterare i dati dei Contratti e dei rispettivi gestori con il prezzo del contratto. Ciascun gruppo nel modello ha una chiave univoca definita dal selettore di input e contiene elementi dell’enumerazione di origine associati a questa chiave. Puoi accedere alla chiave di un’istanza di gruppo utilizzando la proprietà Key. Dopo aver creato il modello, puoi passare al codice per generare il rapporto. Puoi leggere di più su sintassi del modello nella documentazione.

Modello di rapporto

Modello di rapporto

Converti dati Excel in report Word in Java

È possibile automatizzare la conversione dei dati di Excel nel report DOCX in base al modello seguendo i passaggi indicati di seguito:

L’esempio di codice seguente mostra come generare un report da un’origine dati Excel in base al modello definito utilizzando Java.

String srcDocument = "C:\\Files\\template.docx";
String docReport = "C:\\Files\\Output.docx";
String dataFilePath = "C:\\Files\\Contracts_Data.xlsx";

// Imposta l'estrazione dei nomi delle colonne dalla prima riga.
DocumentTableOptions options = new DocumentTableOptions();
options.setFirstRowContainsColumnNames(true);

// Crea tabella documenti
DocumentTable table = new DocumentTable(dataFilePath, 0, options);

// Crea assemblatore di documenti
DocumentAssembler assembler = new DocumentAssembler();

// Assembla i dati e genera report
assembler.assembleDocument(srcDocument,docReport, 
  new DataSourceInfo(new DataStorage(), null),
  new DataSourceInfo(table,"ds"));
Rapporto generato

Rapporto generato

La classe DocumentTableOptions fornisce un set di opzioni per controllare l’estrazione di dati da una tabella del documento. Ho impostato la proprietà FirstRowContainsColumnNames su true in modo che le intestazioni di colonna non diventino parte dei dati del report.

La classe DocumentTable fornisce l’accesso ai dati di una singola tabella (o foglio di calcolo) che si trova in un documento esterno da utilizzare durante l’assemblaggio di un documento.

La classe DocumentAssembler fornisce vari metodi per generare report utilizzando il documento modello definito con i dati. Il metodo assembleDocument() di questa classe accetta tre parametri di input, il modello definito come documento di origine, il percorso del file di output e l’origine dati. Popola i dati dall’origine dati in base al documento modello fornito e archivia il documento risultante nel percorso di destinazione. È possibile salvare il documento risultante in vari formati di file supportati come Word, Excel o HTML.

Ottieni una licenza gratuita

Puoi provare l’API senza limitazioni di valutazione richiedendo una licenza temporanea gratuita.

Conclusione

In questo articolo, hai imparato come generare report dai dati di Excel utilizzando Java. Hai anche imparato a creare un modello di rapporto per generare rapporti. Puoi saperne di più sull’API GroupDocs.Assembly per Java utilizzando la documentazione. In caso di ambiguità, non esitare a contattarci sul forum.

Guarda anche