reporte java con jasperreport

40
Creación de reportes con NetBeans, JasperReport y MySql. Presentado: Geovanny Mendoza Gonzalez Blogs: http://geovanny0401.blogspot.com/ [email protected] Ingeniero de Sistemas 04 de Agosto de 2014 1 Geovanny Mendoza Gonzalez V 1.0

Upload: geovanny-mendoza-gonzalez

Post on 17-Jun-2015

2.231 views

Category:

Software


0 download

DESCRIPTION

Ejemplo de como crear una aplicación hecha en Java con JasperReports

TRANSCRIPT

Page 1: Reporte Java con JasperReport

1

Creación de reportes con NetBeans, JasperReport y MySql.

Presentado:Geovanny Mendoza Gonzalez

Blogs: http://geovanny0401.blogspot.com/

[email protected]

Ingeniero de Sistemas

04 de Agosto de 2014

Geovanny Mendoza Gonzalez V 1.0

Page 2: Reporte Java con JasperReport

2

Este manual se basa en la integración del IDE Netbeans, el Motor de base de

datos MySql y la librería de creacion de informe JasperReports. Además se

incluye el plugin de IReport para Netbeans, se explicara a detalle cómo se

utilizara la biblioteca grafica para Java SWING para generar el reporte, en

este caso recibirá un Parámetro para generar dicho reporte y todo esto se

realizara en el IDE mencionado. Si llegan a tener alguna duda me pueden

escribir al correos electrónicos de la portada.

04 de Agosto de 2014

Geovanny Mendoza Gonzalez V 1.0

Page 3: Reporte Java con JasperReport

3

INTRODUCCIÓN: En este Manual se desarrollara una aplicación para Generar Reportes basado en el SWING de JAVA, utilizaremos como mencionamos anteriormente el motor de base datos MySQL. Este ejercicio también puede funcionar con otra base de datos que puede ser Oracle, SQL Server y PostgreSQL. Para comenzar vamos a establecer nuestro entorno de trabajo:

04 de Agosto de 2014

Geovanny Mendoza Gonzalez V 1.0

Page 4: Reporte Java con JasperReport

4

HERRAMIENTAS PARA EL DESARROLLO:

Netbeans 7.4(Puede utilizar esta versión e inclusive la versión mas

actual.

MySQL 5.1: Sera el encargado de alojar a nuestra base de Datos.

Ireport 5.1: El entorno grafico que nos ayudara a crear el Reporte.

Jasper Reports 5.1: Librerías que nos ayudaran a compilar y ejecutar el reporte que son las siguientes:

04 de Agosto de 2014

Geovanny Mendoza Gonzalez V 1.0

Page 5: Reporte Java con JasperReport

5

LIBRERÍAS• commons-javaflow• commons-logging-1.2• commons-beanutils-1.8• commons-digester-2.1• commons-collections-4-4.0• jasperreports-fonts-3.7.5• itextpdf-5.5.2.jar• itext 5.5.2

• MySQL Connector para JAVA(mysql-connector-java-5.1.6-bin):este es nuestro puente JDBC que nos permitirá la conexión entre el servidor de base de datos y el lenguaje de programacion Java.

04 de Agosto de 2014

Geovanny Mendoza Gonzalez V 1.0

Page 6: Reporte Java con JasperReport

6

LINK PARA DESCARGAR LOS INSTALADORES A USAR

• Todo el Software utilizado es Open Sourcey puede descargarlo desde:

• http://www.netbeans.org : Netbeans 7.4 o superior y en la sección de PLUGINS encontrara el de Ireport

• http://dev.mysql.com/downloads/ : MySQL 5.1, Conector para Java y Herramientas Graficas.

• http://community.jaspersoft.com/ : Ireport librería de creación de informes.

04 de Agosto de 2014

Geovanny Mendoza Gonzalez V 1.0

Page 7: Reporte Java con JasperReport

7

INSTALACIÓN DEL PLUGIN Para realizar este manual, por el momento se va a utilizar una tabla que

llamaremos afiliado. Digitaremos un registro que en este caso será el código de afiliación de un usuario y utilizaremos exclusivamente el Ireport que instalaremos dentro de Netbeans.

04 de Agosto de 2014

Geovanny Mendoza Gonzalez V 1.0

Page 8: Reporte Java con JasperReport

8

Paso 1: Seleccionamos en el menú a

tools(Herramientas) y en el submenú le damos

click a puglins

Paso 2: ahora buscamos en la pestaña con el nombre downloaded(Descarga) ,seleccionamos con click Add Plugins

04 de Agosto de 2014

Geovanny Mendoza Gonzalez V 1.0

Page 9: Reporte Java con JasperReport

9

Paso 3: Consultamos la ubicación en nuestro PC del archivo iReport-5.1.0.nbm y la

seleccionamos el botón abrir

04 de Agosto de 2014

Geovanny Mendoza Gonzalez V 1.0

Page 10: Reporte Java con JasperReport

10

Paso 4: A continuación ya aparece nuestro plugin para instalarse en la parte derecha

aparece una descripción, seleccionamos el botón install(instalación) y presionamos click.

04 de Agosto de 2014

Geovanny Mendoza Gonzalez V 1.0

Page 11: Reporte Java con JasperReport

11

Paso 5: A continuación seleccionamos el botón Next(Siguiente) y presionamos click para

continuar el proceso de instalación.

04 de Agosto de 2014

Geovanny Mendoza Gonzalez V 1.0

Page 12: Reporte Java con JasperReport

12

Paso 6: A continuación seleccionamos la opción para aceptar los términos de licencia y después

presionamos click en el botón Install.

04 de Agosto de 2014

Geovanny Mendoza Gonzalez V 1.0

Page 13: Reporte Java con JasperReport

13

Paso 7: En esta figura nos muestra El plugin ya está instalado y presionamos click en el botón

Finish.

04 de Agosto de 2014

Geovanny Mendoza Gonzalez V 1.0

Page 14: Reporte Java con JasperReport

14

Paso 8: Para comprobar en la siguiente figura que se encuentra instalado y configurado

iReport en NetBeans.

04 de Agosto de 2014

Geovanny Mendoza Gonzalez V 1.0

Page 15: Reporte Java con JasperReport

Geovanny Mendoza Gonzalez V 1.0

1504 de Agosto de 2014

CREAR BASE DE DATOS

Page 16: Reporte Java con JasperReport

16

CREACIÓN DE LA BASE DE DATOS: Como primer paso crearemos la base de datos junto con la instrucción

SQL de crear tabla e insertar registro, hay dos formas para INSERTAR

datos en una tabla: Una es insertar una fila vez, y la otra es

insertar filas múltiples por vez, en este caso utilizaremos la segunda

Opción también la pueden crear con algún asistente grafico o desde la

terminal de MySQL.

04 de Agosto de 2014

Geovanny Mendoza Gonzalez V 1.0

Page 17: Reporte Java con JasperReport

17

CREACIÓN DE LA BASE DE DATOS:

SQL:/*Software : Generacion ReportesDBMS : MysqlEsquema : AfiliadoScript : Crea el esquema con sus respectivas tablasResponsable : Geovanny Mendoza GonzalezEmail : [email protected] : http://geovanny0401.blogspot.com*/ 

-- =============================================-- CREACION DE LA BASE DE DATOS-- ============================================= CREATE DATABASE REPORTE; -- =============================================-- CONECTARSE EL USUARIO-- ============================================= USER REPORTE;

-- =============================================-- CREAR LA TABLA AFILIADO-- ============================================= CREATE TABLE AFILIADO(COD_AFILIACION INTEGER,TIPO_IDE CHAR(2),NUMERO_IDE VARCHAR(30),APEPATERNO VARCHAR(50),APEMATERNO VARCHAR(50),NOMBRE VARCHAR(60),FEC_NAC VARCHAR(15)); ALTER TABLE AFILIADO ADD PRIMARY KEY (COD_AFILIACION); INSERT INTO AFILIADO (COD_AFILIACION, TIPO_IDE,NUMERO_IDE, APEPATERNO, APEMATERNO, NOMBRE,FEC_NAC)VALUES (1,'CC','12345678','SANTOS','BULLOSO','MARIA','23/04/1987'); INSERT INTO AFILIADO (COD_AFILIACION, TIPO_IDE, NUMERO_IDE, APEPATERNO, APEMATERNO, NOMBRE, FEC_NAC)VALUES (2,'CC','36985214','CALLE','ALVAREZ','OVIDIO','06/10/1940');

04 de Agosto de 2014

Geovanny Mendoza Gonzalez V 1.0

Page 18: Reporte Java con JasperReport

Geovanny Mendoza Gonzalez V 1.0

1804 de Agosto de 2014

Crear Proyecto en Netbeans

Page 19: Reporte Java con JasperReport

19

PASO 1: Como ya creamos la base de datos en este caso es el motor de base de datos MYSQL.

por lo tanto procedemos a crear un proyecto en Netbeans.

04 de Agosto de 2014

Geovanny Mendoza Gonzalez V 1.0

1) En el menú principal del IDE nos dirigimos a File escogemos New Project2) En Categories escogemos la carpeta Java y en Projects Seleccionamos Java Application y presionamos el botón Next con un click.

Page 20: Reporte Java con JasperReport

20

PASO 2: En Project Name: colocamos el nombre del proyecto, en Project Location donde vamos

a guardar el Proyecto, deseleccionamos la opción de Create Main Class y oprimimos el botón

Finish.

04 de Agosto de 2014

Geovanny Mendoza Gonzalez V 1.0

Page 21: Reporte Java con JasperReport

2104 de Agosto de 2014

Geovanny Mendoza Gonzalez V 1.0

PASO 3: Por defecto ya tenemos el JFrame

En este caso vamos agregar los

Siguientes componentes

1) Dos JButton

2) Un Jpanel

3) Tres Jlabel

4) Un JTextField

Page 22: Reporte Java con JasperReport

Geovanny Mendoza Gonzalez V 1.0

2204 de Agosto de 2014

Crear Plantilla en Ireport

Page 23: Reporte Java con JasperReport

23

PASO 1 : Seleccionamos el proyecto le damos click derecho file->other: Escogemos en

categoría Report y en File Types: Empty Report y presionamos Next

04 de Agosto de 2014

Geovanny Mendoza Gonzalez V 1.0

Page 24: Reporte Java con JasperReport

24

PASO 2 : Colocamos el nombre del archivo y presionamos click en Finish

04 de Agosto de 2014

Geovanny Mendoza Gonzalez V 1.0

Page 25: Reporte Java con JasperReport

25

PASO 3 : Como podemos observar ya se puede visualizar la plantilla del reporte.

04 de Agosto de 2014

Geovanny Mendoza Gonzalez V 1.0

Page 26: Reporte Java con JasperReport

26

PASO 4: ahora vamos a crear el origen de datos para realizar nuestra conexión con la base de

datos.

04 de Agosto de 2014

Geovanny Mendoza Gonzalez V 1.0

Page 27: Reporte Java con JasperReport

27

PASO 5: Damos click en opcion default y seleccionamos la opcion New.

04 de Agosto de 2014

Geovanny Mendoza Gonzalez V 1.0

Page 28: Reporte Java con JasperReport

28

PASO 6: En este paso seleccionamos el tipo de datasource en este caso escogemos Database

JDBC connection y damos click en Next.

04 de Agosto de 2014

Geovanny Mendoza Gonzalez V 1.0

Page 29: Reporte Java con JasperReport

29

PASO 7:. Completamos los parámetros como se muestra en la figura en la parte de abajo.

04 de Agosto de 2014

Geovanny Mendoza Gonzalez V 1.0

Name: reportes

JDBC Driver: MySQL (com.mysql.jdbc.Driver)

JDBC URL: jdbc:mysql://localhost/reporte

UserName: root

Password: root

Page 30: Reporte Java con JasperReport

3004 de Agosto de 2014

Geovanny Mendoza Gonzalez V 1.0

PASO 8: En este paso vamos agregar un parámetro seleccionamos la pestaña Report Inspector y damos click derecho encima de Parameteres y escogemos Add Parameter.

PASO 9:Despues que agregamos el parámetro le colocamos el nombre, la clase de parámetro.

Page 31: Reporte Java con JasperReport

31

PASO 10: Seleccionamos la pestaña Report

Inspector y damos click derecho encima del

reporte1 y escogemos Edit Query.

04 de Agosto de 2014

Geovanny Mendoza Gonzalez V 1.0

Page 32: Reporte Java con JasperReport

32

PASO 11: Escribimos la siguiente consulta en sql: SELECT * FROM AFILIADO WHERE

ID=$P{id}.

04 de Agosto de 2014

Geovanny Mendoza Gonzalez V 1.0

Page 33: Reporte Java con JasperReport

33

PASO 12: Seleccionamos Fields para que nos muestre todo los campos de la tabla Afiliado,

agregamos al reporte en la parte Detail todos los campos que queremos visualizar.

04 de Agosto de 2014

Geovanny Mendoza Gonzalez V 1.0

Page 34: Reporte Java con JasperReport

34

PASO 14: Por ultimo ante de realizar la codificación agregamos las librerías necesaria para

ejecutar la aplicación, nos ubicaremos en el proyecto y seleccionamos la carpeta libraries, damos

clikc derecho y presionamos en Add JAR/Folder. Después ubicamos donde tenemos guardado los

Archivos *.JAR y los adicionamos al proyecto.

04 de Agosto de 2014

Geovanny Mendoza Gonzalez V 1.0

Page 35: Reporte Java con JasperReport

Geovanny Mendoza Gonzalez V 1.0

3504 de Agosto de 2014

Codificación

Page 36: Reporte Java con JasperReport

36

Creamos una clase EjecutarReporte

package Controlador;

import static Controlador.Reporte.CONEXION;

import static Controlador.Reporte.DRIVER;

import static Controlador.Reporte.PASSWORD;

import static Controlador.Reporte.RUTA;

import static Controlador.Reporte.USER;

import java.sql.Connection;

import java.sql.DriverManager;

import java.util.HashMap;

import java.util.Map;

import net.sf.jasperreports.engine.JasperFillManager;

import net.sf.jasperreports.engine.JasperPrint;

import net.sf.jasperreports.engine.JasperReport;

import net.sf.jasperreports.engine.util.JRLoader;

import net.sf.jasperreports.view.JasperViewer;

04 de Agosto de 2014

Geovanny Mendoza Gonzalez V 1.0

Page 37: Reporte Java con JasperReport

37

/**

*

* @author Geovanny

*/

public class Reporte {

public static final String DRIVER = "com.mysql.jdbc.Driver";

public static final String RUTA = "jdbc:mysql://localhost/reporte";

public static final String USER = "root";

public static final String PASSWORD = "root";

public static Connection CONEXION;

04 de Agosto de 2014

Geovanny Mendoza Gonzalez V 1.0

Page 38: Reporte Java con JasperReport

38

public void EjecutarReporte(int id) {

JasperReport reporte1;

JasperPrint jasperprint;

try {

Class.forName(DRIVER);

CONEXION = DriverManager.getConnection(RUTA, USER, PASSWORD);

javax.swing.JOptionPane.showMessageDialog(null, "Conexion establecida");

String template = "src/reporte1.jasper";

reporte1 = (JasperReport) JRLoader.loadObject(template);

Map param = new HashMap();

param.clear();

param.put("id", id);

jasperprint = JasperFillManager.fillReport(reporte1, param, CONEXION);

JasperViewer visor = new JasperViewer(jasperprint, false);

visor.setTitle("Reportes Afiliados");

visor.setVisible(true);

} catch (Exception e) {

javax.swing.JOptionPane.showMessageDialog(null, e);

}

}

}

04 de Agosto de 2014

Geovanny Mendoza Gonzalez V 1.0

Page 39: Reporte Java con JasperReport

39

Ahora nos dirigimos al formulario y seleccionamos con doble clik el boton Generar y agregamos el

siguiente codigo.

int id = Integer.parseInt(txtAfiliado.getText());

reporte.EjecutarReporte(id);

Despues Ejecutamos el proyecto y enviamos el parámetro en este caso es el numero 1 listo.

04 de Agosto de 2014

Geovanny Mendoza Gonzalez V 1.0

Page 40: Reporte Java con JasperReport

40

Finalizamos el proyecto espero que sea gran ayuda y lo puedan implementar en sus proyecto, para

la próxima publicaciones voy a realizar y explicar ejercicios con JFreeChart, Realizar un Login y un

Aplicativo aplicando el patrón MVC.

04 de Agosto de 2014

Geovanny Mendoza Gonzalez V 1.0

Geovanny Mendoza GonzalezBlogs:

http://geovanny0401.blogspot.com/