Generar informes a partir de datos de Excel en Java

Puede presentar datos de Microsoft Excel en forma de informes personalizados para sus usuarios, como clientes, partes interesadas, etc. Como desarrollador de Java, puede generar dichos informes mediante programación mediante el uso de hojas de cálculo de Excel como una tabla de datos. En este artículo, aprenderá a generar informes a partir de datos de Excel utilizando Java.

Los siguientes temas se discuten/tratan en este artículo:

API de Java para generar informes

Para generar los informes a partir de datos de Excel, utilizaré la API GroupDocs.Assembly para Java. Le permite crear potentes aplicaciones de generación de informes y automatización de documentos. Obtiene datos de la fuente de datos según el documento de plantilla definido, los ensambla y genera informes en el formato de salida especificado. La API admite la obtención de datos de varias fuentes de datos, como XML, Excel, JSON y CSV. Puede generar fácilmente informes en todos los formatos de archivo de uso común, como PDF, HTML y Microsoft Word.

Puede descargar el JAR de la API o simplemente agregar la siguiente configuración pom.xml en su aplicación Java basada en Maven para probar los ejemplos de código mencionados a continuación.

<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>

Genere informes a partir de datos de Excel usando Java

Puede generar fácilmente informes en Word a partir de sus datos de Excel siguiendo los sencillos pasos que se mencionan a continuación:

  1. Obtener fuente de datos de Excel
  2. Definir una plantilla según los datos de Excel
  3. Convertir datos de Excel en informes de Word en Java

Fuente de datos de Excel

Puede utilizar los datos tabulares como fuente de datos proporcionada en la hoja de cálculo de Excel para generar informes. Usaré los siguientes datos de muestra de Excel para generar el informe. Estos son los datos de los contratos de los clientes con sus respectivos gestores y el precio del contrato acordado.

Fuente de datos de Excel

Fuente de datos de Excel

Modelo

Puede usar una sintaxis de plantilla basada en Linq para crear una plantilla. Una plantilla se compone de contenidos de documentos comunes y etiquetas que describen la estructura de la plantilla y los enlaces de datos. Puede definir la siguiente plantilla en el archivo DOCX o XLSX. Esta plantilla le permite iterar los datos de los Contratos y sus respectivos administradores con el precio del contrato. Cada grupo en la plantilla tiene una clave única definida por el selector de entrada y contiene elementos de la enumeración de origen asociados con esta clave. Puede acceder a la clave de una instancia de grupo mediante la propiedad Clave. Una vez que haya creado la plantilla, puede saltar al código para generar el informe. Puede leer más sobre sintaxis de plantilla en la documentación.

Reportar plantilla

Reportar plantilla

Convertir datos de Excel a informe de Word en Java

Puede automatizar la conversión de datos de Excel al informe DOCX basado en la plantilla siguiendo los pasos que se mencionan a continuación:

El siguiente ejemplo de código muestra cómo generar un informe a partir de una fuente de datos de Excel de acuerdo con la plantilla definida utilizando Java.

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

// Establecer la extracción de nombres de columna de la primera fila.
DocumentTableOptions options = new DocumentTableOptions();
options.setFirstRowContainsColumnNames(true);

// Crear tabla de documentos
DocumentTable table = new DocumentTable(dataFilePath, 0, options);

// Crear ensamblador de documentos
DocumentAssembler assembler = new DocumentAssembler();

// Reunir datos y generar informe
assembler.assembleDocument(srcDocument,docReport, 
  new DataSourceInfo(new DataStorage(), null),
  new DataSourceInfo(table,"ds"));
Informe generado

Informe generado

La clase DocumentTableOptions proporciona un conjunto de opciones para controlar la extracción de datos de una tabla de documentos. Establecí la propiedad FirstRowContainsColumnNames en verdadero para que los encabezados de las columnas no se conviertan en parte de los datos del informe.

La clase DocumentTable brinda acceso a los datos de una sola tabla (o una hoja de cálculo) ubicada en un documento externo para usar mientras se ensambla un documento.

La clase DocumentAssembler proporciona varios métodos para generar informes utilizando el documento de plantilla definido con datos. El método de ensamblar Documento () de esta clase toma tres parámetros de entrada, la plantilla definida como documento de origen, la ruta del archivo de salida y la fuente de datos. Rellena los datos del origen de datos en función del documento de plantilla proporcionado y almacena el documento resultante en la ruta de destino. Puede guardar el documento resultante en varios formatos de archivo admitidos, como Word, Excel o HTML.

Obtenga una licencia gratis

Puede probar la API sin limitaciones de evaluación solicitando una licencia temporal gratuita.

Conclusión

En este artículo, ha aprendido a generar informes a partir de datos de Excel utilizando Java. También ha aprendido a crear una plantilla de informe para generar informes. Puede obtener más información sobre GroupDocs.Assembly para la API de Java utilizando la documentación. En caso de cualquier ambigüedad, no dude en contactarnos en el foro.

Ver también