Los Valores separados por comas (CSV) es un formato de archivo para almacenar los datos en forma de texto sin formato donde los valores están separados por comas. CSV se usa ampliamente para intercambiar datos entre aplicaciones. Como desarrollador, a menudo necesitamos convertir los grandes datos CSV en un formato presentable. Este artículo lo guiará para convertir datos CSV en informes PDF y MS Word en Java usando una plantilla simple.

Los siguientes temas se tratan a continuación:

API Java de generación de informes

GroupDocs.Assembly for Java es la API de generación de informes que he usado en este artículo para generar informes a partir de los datos CSV seleccionados y una plantilla en formato TXT. También es compatible con la automatización de generación de informes de múltiples fuentes de datos como JSON, XML y también de archivos MS Word, Excel y PowerPoint como archivos de datos.

Descargar o configurar

Puede descargar el archivo JAR de la sección de descargas, o simplemente obtener el repositorio y las configuraciones de dependencia para el pom.xml de sus aplicaciones Java basadas en 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>

Generar informe en PDF a partir de datos CSV en Java

Comencemos con la transformación de los datos en un PDF presentable. Los siguientes pasos lo llevarán a convertir datos CSV en un informe PDF formateado.

  • Cargar fuente de datos CSV
  • Definir plantilla según los datos CSV
  • Proporcione una fuente de datos CSV y una plantilla a un método simple para generar un informe en PDF.
Informe de CSV a PDF en Java

Datos CSV

Para la generación del informe en PDF, usaré los siguientes datos CSV de muestra de diferentes personas junto con sus respectivas edades y fechas de nacimiento.

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

Modelo

Defina la siguiente plantilla en formato TXT o DOCX. Esto permite iterar la lista de personas con sus datos. Después de eso, puede saltar al código para la generación de informes.

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

Pasos de Java para generar un informe PDF desde CSV

Los siguientes pasos explican la conversión automática de datos CSV en un informe PDF de acuerdo con la plantilla definida.

  • Defina las rutas del archivo de datos CSV, el archivo de plantilla .txt y el archivo de informe de salida PDF.
  • Crear una instancia de CsvDataSoure con un archivo de datos CSV.
  • Crear DataSourceInfo con el CsvDataSource definido.
  • Llame al método assembleDocument de la clase DocumentAssembler para obtener el informe PDF generado.

El siguiente código muestra cómo convertir datos CSV a informes PDF en Java.

// Genere un informe en PDF a partir de datos CSV usando una plantilla TXT en Java con GroupDocs.Assembly API
// Defina la fuente de datos, la plantilla y los archivos de informe de salida.
String csvDataSource = "dataPath/Person.csv";
String templateFilePath = "templatePath/template.txt";
String reportFilePath = "reportsPath/reportFromCSV.pdf";

// Fuente de datos CSV de Laod
CsvDataLoadOptions options = new CsvDataLoadOptions(true);
CsvDataSource datasource= new CsvDataSource(csvDataSource,options);
DataSourceInfo dataSourceInfo = new DataSourceInfo(datasource,"persons");

// Generar informe
DocumentAssembler assembler = new DocumentAssembler();
assembler.assembleDocument(templateFilePath, reportFilePath, dataSourceInfo);

Genere un informe de MS Word a partir de datos CSV en Java

Es muy similar a la generación de informes PDF anterior, puede crear fácilmente el informe DOC/DOCX de MS Word a partir de los datos CSV:

  • Cargue los datos CSV del archivo.
  • Definición de la plantilla en formato TXT o DOCX.
  • Establezca el formato del documento de informe de salida como DOC/DOCX.
  • El resto del código seguirá siendo el mismo para generar un informe DOCX de MS Word a partir de los datos CSV.

El siguiente código muestra cómo convertir datos CSV a informes DOCX en Java.

// Genere un informe de Word a partir de datos CSV usando una plantilla TXT en Java con GroupDocs.Assembly API
// Defina la fuente de datos, la plantilla y los archivos de informe de salida.
String csvDataSource = "dataPath/Person.csv";
String templateFilePath = "templatePath/template.txt";
String reportFilePath = "reportsPath/reportFromCSV.docx";

// Cargar fuente de datos CSV
CsvDataLoadOptions options = new CsvDataLoadOptions(true);
CsvDataSource datasource= new CsvDataSource(csvDataSource,options);
DataSourceInfo dataSourceInfo = new DataSourceInfo(datasource,"persons");

// Generar informe
DocumentAssembler assembler = new DocumentAssembler();
assembler.assembleDocument(templateFilePath, reportFilePath, dataSourceInfo);

Obtenga una licencia de API gratuita

Puede obtener una licencia temporal gratuita para utilizar la API sin las limitaciones de evaluación.

Conclusión

En resumen, ha aprendido a convertir los datos CSV en informes PDF y MS Word en Java. Espero que ahora se sienta cómodo creando su propia aplicación basada en Java para generar informes al convertir datos CSV a formato PDF. Del mismo modo, puede generar informes utilizando fuentes de datos como JSON y XML.

Para obtener más información sobre la API, puede visitar documentación y el repositorio GitHub. En caso de más consultas y ambigüedades, comuníquese con el soporte gratuito en el foro.

Ver también