Cómo implementar Jasper Report con
Java y Spring Boot con ejemplo de
código fuente
Jasper Report es una biblioteca de código abierto basada en Java para generar informes.
Permite a los desarrolladores crear informes complejos que incluyen gráficos, imágenes,
subinformes y más. Jasper Report puede acceder a datos a través de JDBC, TableModels,
JavaBeans, XML, Hibernate, CSV y otras fuentes. Los informes se pueden exportar en
varios formatos, incluidos PDF, RTF, XML, XLS, CSV, HTML, XHTML, texto, DOCX o
OpenOffice.
Estos son los pasos para implementar Jasper Report con Java y Spring Boot:
1. Agregue la dependencia de Jasper Report a su proyecto. Puede agregar la siguiente
dependencia a su archivo pom.xml:
<dependency>
<groupId>net.sf.jasperreports</groupId>
<artifactId>jasperreports</artifactId>
<version>6.17.0</version>
</dependency>
2. Cree una plantilla de informe utilizando JasperSoft Studio. JasperSoft Studio es un
diseñador de informes gratuito, de código abierto y basado en Eclipse para Jasper
Reports. Puede crear una plantilla de informe seleccionando una plantilla base y
diseñando el diseño del informe. Puede agregar campos de datos, imágenes,
gráficos y otros elementos a la plantilla de informe.
3. Cree un adaptador JRDataSource para proporcionar datos al informe. Puede crear
un adaptador JRDataSource implementando la interfaz JRDataSource. La interfaz
JRDataSource proporciona métodos para recuperar datos de una fuente de datos.
4. Genere el informe utilizando la API de Jasper Report. Puede generar el informe
utilizando la API de Jasper Report para completar la plantilla de informe con datos.
La API de Jasper Report proporciona métodos para completar la plantilla de informe
con datos y exportar el informe en varios formatos.
5. Aquí hay un ejemplo de generación de un informe utilizando Jasper Report con Java
y Spring Boot:
, @RestController
public class ReportController {
@Autowired
private EmployeeRepository employeeRepository;
@GetMapping("/report")
public void generateReport(HttpServletResponse response) throws
Exception {
List<Employee> employees = employeeRepository.findAll();
// Cargar la plantilla de informe
InputStream inputStream =
this.getClass().getResourceAsStream("/reports/employee-report.jrxml"
);
JasperReport jasperReport =
JasperCompileManager.compileReport(inputStream);
// Establecer parámetros del informe
Map<String, Object> parameters = new HashMap<>();
parameters.put("title", "Informe de empleados");
// Completar el informe con datos
JRBeanCollectionDataSource dataSource = new
JRBeanCollectionDataSource(employees);
JasperPrint jasperPrint =
JasperFillManager.fillReport(jasperReport, parameters, dataSource);
// Exportar el informe a PDF
response.setContentType("application/pdf");
response.setHeader("Content-Disposition", "attachment;
filename=employee-report.pdf");
OutputStream outputStream = response.getOutputStream();
JasperExportManager.exportReportToPdfStream(jasperPrint,
outputStream);
}
}
En este ejemplo, hemos creado un punto final REST para generar un informe de
empleados. Hemos inyectado EmployeeRepository para recuperar datos de empleados.
Hemos cargado la plantilla de informe desde la carpeta de recursos y establecido los
Java y Spring Boot con ejemplo de
código fuente
Jasper Report es una biblioteca de código abierto basada en Java para generar informes.
Permite a los desarrolladores crear informes complejos que incluyen gráficos, imágenes,
subinformes y más. Jasper Report puede acceder a datos a través de JDBC, TableModels,
JavaBeans, XML, Hibernate, CSV y otras fuentes. Los informes se pueden exportar en
varios formatos, incluidos PDF, RTF, XML, XLS, CSV, HTML, XHTML, texto, DOCX o
OpenOffice.
Estos son los pasos para implementar Jasper Report con Java y Spring Boot:
1. Agregue la dependencia de Jasper Report a su proyecto. Puede agregar la siguiente
dependencia a su archivo pom.xml:
<dependency>
<groupId>net.sf.jasperreports</groupId>
<artifactId>jasperreports</artifactId>
<version>6.17.0</version>
</dependency>
2. Cree una plantilla de informe utilizando JasperSoft Studio. JasperSoft Studio es un
diseñador de informes gratuito, de código abierto y basado en Eclipse para Jasper
Reports. Puede crear una plantilla de informe seleccionando una plantilla base y
diseñando el diseño del informe. Puede agregar campos de datos, imágenes,
gráficos y otros elementos a la plantilla de informe.
3. Cree un adaptador JRDataSource para proporcionar datos al informe. Puede crear
un adaptador JRDataSource implementando la interfaz JRDataSource. La interfaz
JRDataSource proporciona métodos para recuperar datos de una fuente de datos.
4. Genere el informe utilizando la API de Jasper Report. Puede generar el informe
utilizando la API de Jasper Report para completar la plantilla de informe con datos.
La API de Jasper Report proporciona métodos para completar la plantilla de informe
con datos y exportar el informe en varios formatos.
5. Aquí hay un ejemplo de generación de un informe utilizando Jasper Report con Java
y Spring Boot:
, @RestController
public class ReportController {
@Autowired
private EmployeeRepository employeeRepository;
@GetMapping("/report")
public void generateReport(HttpServletResponse response) throws
Exception {
List<Employee> employees = employeeRepository.findAll();
// Cargar la plantilla de informe
InputStream inputStream =
this.getClass().getResourceAsStream("/reports/employee-report.jrxml"
);
JasperReport jasperReport =
JasperCompileManager.compileReport(inputStream);
// Establecer parámetros del informe
Map<String, Object> parameters = new HashMap<>();
parameters.put("title", "Informe de empleados");
// Completar el informe con datos
JRBeanCollectionDataSource dataSource = new
JRBeanCollectionDataSource(employees);
JasperPrint jasperPrint =
JasperFillManager.fillReport(jasperReport, parameters, dataSource);
// Exportar el informe a PDF
response.setContentType("application/pdf");
response.setHeader("Content-Disposition", "attachment;
filename=employee-report.pdf");
OutputStream outputStream = response.getOutputStream();
JasperExportManager.exportReportToPdfStream(jasperPrint,
outputStream);
}
}
En este ejemplo, hemos creado un punto final REST para generar un informe de
empleados. Hemos inyectado EmployeeRepository para recuperar datos de empleados.
Hemos cargado la plantilla de informe desde la carpeta de recursos y establecido los