JasperReports es una herramienta de informes de código abierto para Java que genera informes de aplicaciones. Esta herramienta de informes permite exportar contenido enriquecido de informes a pantallas, impresoras o varios formatos de archivo como HTML, PDF, XLS, RTF, CSV, XML, ODT y TXT.
JasperReports también puede usarse para aplicaciones habilitadas con Java como Java EE o aplicaciones web para generar contenido dinámico.
Instalar JasperReports
Instala Jasper Reports Community Edition desde aquí.
https://community.jaspersoft.com/community-download
Estructura del informe Jasper
La plantilla de informe .jrxml consta de las siguientes partes como se muestra en el diagrama siguiente.
1. El título contiene el "titular" del informe. Solo aparece una vez al principio del informe. Por ejemplo, el informe se titula "Informe del Estudiante."
2. El título de la página puede incluir información de fecha y hora o el nombre de la institución. Se muestra en la parte superior de cada página. Por ejemplo: el título de la página puede ser "Registros del Estudiante."
3. Los encabezados de columna indican los nombres de campos específicos que se mostrarán en el informe, como "Identificación del estudiante", "Nombre del estudiante", "Dirección del estudiante", etc.
4. La sección de información detallada muestra las entradas de campos específicos. Por ejemplo: ID del estudiante = 101, Nombre del estudiante = Den Peek, Dirección del estudiante = Pune.
5. Los pies de página de columna pueden mostrar la suma de cualquier campo. Por ejemplo, "Tiempo total de estudio: 6 horas al día."
6. El pie de página puede contener información sobre el número de página. Se muestra en la parte inferior de cada página, por ejemplo: "Números de página 1, 2, 3 y todos los números de página."
7. Resumen: El resumen del informe, escrito al menos una vez en el resumen.
JasperReports — Ciclo de vida
Diseña el informe — En este paso, crearemos un archivo JRXML, que es un documento XML que contiene la definición de diseño del informe. Informe de compilación - En este paso, JRXML se compila en un objeto binario llamado Jasper (*.jasper). Rellenar los datos en informes—en este paso, los datos de la aplicación se integran en el informe compilado. La clase net.sf.jasperreports.engine.JasperFillManager proporciona las funciones necesarias para completar los datos del informe. El sistema creará un archivo de impresión Jasper (*.jrprint), que puede usarse para imprimir o exportar informes. Informe de exportación - En este paso, podemos usar JasperExportManager para exportar el archivo de impresión de Jasper creado en el paso anterior a cualquier formato.
Clase API
Existen muchas clases disponibles para compilar diseños de informes JRXML, rellenar informes, imprimir informes y exportarlos como archivos PDF, HTML y XML.
¿Qué contenido contiene el paquete (net.sf.jasperreports.engine)?
· JasperCompileManager — Se utiliza para compilar plantillas de informes JRXML. · JasperFillManager — Se utiliza para rellenar informes utilizando datos de fuentes de datos. · JasperPrintManager — Se utiliza para imprimir documentos generados por la biblioteca JasperReports. · JasperExportManager — Utilizado para obtener contenido PDF, HTML o XML de documentos generados durante el proceso de relleno de informes.
Fuente de datos
Una fuente de datos es un contenedor de datos estructurado. Al generar informes, el motor JasperReports recupera datos de la fuente de datos. Los datos pueden obtenerse de bases de datos, archivos XML, arrays de objetos y colecciones de objetos.
La siguiente tabla resume las fuentes de datos y sus clases de implementación—
Elementos de datos de Jasper Reports
Parámetros: $P $P{parameter_name)
· Se utiliza para valores individuales en el informe.
· Los datos que no pueden pasarse a través de la fuente de datos pueden pasarse a través de parámetros. Por ejemplo, títulos de informes y otros datos.
· Las plantillas de JasperReports o JRXML pueden tener cero o más elementos de parámetro.
Campo: $F $F{field_name}
· Los campos de informe son elementos que representan el mapeo de datos entre fuentes de datos y plantillas de informes.
Se utiliza para cambiar valores en cada iteración, o dicho de otro modo, para representar una fila de datos en una tabla.
Variable: $V $V{variable_name}
· Está proporcionado por Jasper Reports.
También se utiliza para realizar cálculos en informes Jasper, como operaciones aritméticas.
Pasos para crear cualquier informe de Jasper
1. Diseñar la plantilla copiando el archivo jrxml a la carpeta Spring Resources
2. Crear parámetros requeridos
3. Crear fuentes de datos
4. Compilar la plantilla .jrmxl almacenada en el objeto JasperReport
5. Rellenar el informe—pasando objetos compilados .jrxml, parámetros y fuentes de datos.
6. Informes de exportación — Usa JasperExportManager
Ejemplo de SpringBoot — JasperReports
Añade dependencias de Maven.
Controlador
Servicio
emp24.jrxml
Después de ejecutar, recibirás el informe generado.http://localhost:8990/empapp/api/v1/reports/jasper/emp24?fileType=doc
JasperReports — Ejemplo de representación de un subinforme
Para subinformes, abre la plantilla existente emp.jrxml y añade otra plantilla user.jrxml como subinforme.
Para añadir un informe hijo al informe principal, ábrelo, haz clic en el informe hijo desde el panel, arrástralo al área de resumen y proporciona los siguientes detalles.
Selecciona "Crear solo elementos de reporte hijo" y luego haz clic en "Siguiente". No uses ninguna conexión a la base de datos y luego pasa al siguiente paso y termina. Haz clic derecho > Alinear > adaptar al formato de ancho/tabla
Para los subinformes User.jrxml, pasaremos los datos de subinformes del informe principal como parámetro. Para lograrlo, necesitamos ......
Crea un nuevo parámetro como subReport y el tipo de dato JasperReport como en el informe principal Crear nuevos parámetros para subDatasource y tipo de dato JRBeanCollectionDataSource Crear nuevos parámetros subParámetros y tipo de dato Map
Ahora abre las propiedades del subinforme
Eliminar $P{REPORT_CONNECTION} Expresión: $P{subReport} Expresión de mapeo de parámetros: $P{subParameters} Expresión de fuente de datos: $P{subReportDataSource}
Ahora, cualquier dato que pasemos como parámetro se incluirá en el subinforme.
Código de ejemplo
empSubreport.jrxml
Pruébale:http://localhost:8990/empapp/api/v1/reports/jasper/subreport?fileType=pdf
Referencia:El inicio de sesión del hipervínculo es visible. Texto original en:El inicio de sesión del hipervínculo es visible. |