Il Comma Separated Values (CSV) è un formato di file per la memorizzazione dei dati sotto forma di testo normale in cui i valori sono separati da virgole. CSV è ampiamente utilizzato per lo scambio di dati tra le applicazioni. Come sviluppatore, abbiamo spesso bisogno di convertire i dati CSV di grandi dimensioni in un formato presentabile. Questo articolo ti guiderà a convertire i dati CSV in report PDF e MS Word in Java utilizzando un semplice modello.

Di seguito vengono trattati i seguenti argomenti:

API Java per la generazione di report

GroupDocs.Assembly for Java è l’API di generazione di report che ho utilizzato in questo articolo per generare report dai dati CSV selezionati e un modello in formato TXT. Supporta inoltre l’automazione della generazione di report da più origini dati come JSON, XML e anche da file MS Word, Excel e PowerPoint come file di dati.

Scarica o configura

Puoi scaricare il file JAR dalla sezione download, o semplicemente ottenere il repository e le configurazioni delle dipendenze per il pom.xml delle tue applicazioni Java basate su Maven.

<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.4</version> 
</dependency>

Genera report PDF da dati CSV in Java

Iniziamo con la trasformazione dei dati in PDF presentabili. I seguenti passaggi ti porteranno a convertire i dati CSV in un rapporto PDF formattato.

  • Carica l’origine dati CSV
  • Definisci il modello in base ai dati CSV
  • Fornisci l’origine dati CSV e il modello per un metodo semplice per generare report PDF.
CSV in PDF Report in Java

Dati CSV

Per la generazione del rapporto PDF, utilizzerò i seguenti dati CSV di esempio di persone diverse insieme alle rispettive età e data di nascita.

Name,Age,Birth  
John Doe,32,4/1/1989 16:00  
Jane Doe,29,1/31/1992 7:00  
John Smith,53,3/8/1968 13:00

Modello

Definire il seguente modello in formato TXT o DOCX. Ciò consente di iterare l’elenco delle persone con i loro dettagli. Successivamente, puoi passare al codice per la generazione del rapporto.

<<foreach \[in persons\]>>Name: <<\[Name\]>>, Age: <<\[Age\]>>, Date of Birth: <<\[Birth\]:"dd.MM.yyyy">>
<</foreach>>
Average age: <<\[persons.**average**(p => p.Age)\]>>

Passaggi Java per generare report PDF da CSV

I passaggi seguenti spiegano la conversione automatica dei dati CSV in un report PDF in base al modello definito.

  • Definisci i percorsi del file di dati CSV, del file modello .txt e del file del rapporto di output PDF.
  • Istanziare CsvDataSoure con file di dati CSV.
  • Crea DataSourceInfo con il CsvDataSource definito.
  • Chiama il metodo assembleDocument della classe DocumentAssembler per ottenere il rapporto PDF generato.

Il codice seguente mostra come convertire i dati CSV in report PDF in Java.

// Genera report PDF da dati CSV utilizzando il modello TXT in Java con GroupDocs.Assembly API
// Definire l'origine dati, il modello e i file di report di output.
String csvDataSource = "dataPath/Person.csv";
String templateFilePath = "templatePath/template.txt";
String reportFilePath = "reportsPath/reportFromCSV.pdf";

// Fonte dati CSV Laod
CsvDataLoadOptions options = new CsvDataLoadOptions(true);
CsvDataSource datasource= new CsvDataSource(csvDataSource,options);
DataSourceInfo dataSourceInfo = new DataSourceInfo(datasource,"persons");

// Genera rapporto
DocumentAssembler assembler = new DocumentAssembler();
assembler.assembleDocument(templateFilePath, reportFilePath, dataSourceInfo);

Genera report MS Word dai dati CSV in Java

È molto simile alla generazione di report PDF sopra, puoi facilmente creare il report MS Word DOC/DOCX dai dati CSV:

  • Carica i dati CSV dal file.
  • Definizione del modello in formato TXT o DOCX.
  • Impostare il formato del documento del rapporto di output come DOC/DOCX.
  • Il resto del codice rimarrà lo stesso per generare il report MS Word DOCX dai dati CSV.

Il codice seguente mostra come convertire i dati CSV in report DOCX in Java.

// Genera report Word dai dati CSV utilizzando il modello TXT in Java con l'API GroupDocs.Assembly
// Definire l'origine dati, il modello e i file di report di output.
String csvDataSource = "dataPath/Person.csv";
String templateFilePath = "templatePath/template.txt";
String reportFilePath = "reportsPath/reportFromCSV.docx";

// Carica origine dati CSV
CsvDataLoadOptions options = new CsvDataLoadOptions(true);
CsvDataSource datasource= new CsvDataSource(csvDataSource,options);
DataSourceInfo dataSourceInfo = new DataSourceInfo(datasource,"persons");

// Genera rapporto
DocumentAssembler assembler = new DocumentAssembler();
assembler.assembleDocument(templateFilePath, reportFilePath, dataSourceInfo);

Ottieni una licenza API gratuita

Puoi ottenere una licenza temporanea gratuita per utilizzare l’API senza i limiti di valutazione.

Conclusione

Per riassumere, hai imparato a convertire i dati CSV in report PDF e MS Word in Java. Spero che ora ti trovi a tuo agio nella creazione della tua applicazione basata su Java per generare rapporti convertendo i dati CSV in formato PDF. Allo stesso modo, puoi generare rapporti utilizzando origini dati come JSON e XML.

Per ulteriori informazioni sull’API, puoi visitare la documentazione e il repository GitHub. In caso di ulteriori domande e ambiguità, contatta il supporto gratuito sul forum.

Guarda anche