Ir al contenido principal

iReport T03 – Creación y visualización de reportes con iReport y NetBeans (Parte 3 de 3)

Creación y visualización de reportes con iReport y NetBeans.

En este tutorial se realizara el diseño de un reporte con iReport Designer y posteriormente se visualizara desde un proyecto en java programado con NetBeans.

                                            




1.-Para este proyecto se va a crear la siguiente Base de datos:

CREATE DATABASE tienda;

USE `tienda`;

CREATE TABLE IF NOT EXISTS `productos` (
  `idProducto` int(11) NOT NULL AUTO_INCREMENT,
  `producto` varchar(20) COLLATE latin1_spanish_ci NOT NULL,
  `precio` float NOT NULL,
  `existencia` tinyint(4) NOT NULL,
  `categoria` varchar(20) COLLATE latin1_spanish_ci NOT NULL,
  PRIMARY KEY (`idProducto`)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 COLLATE=latin1_spanish_ci AUTO_INCREMENT=1 ;


INSERT INTO `productos` (`idProducto`, `producto`, `precio`, `existencia`, `categoria`) VALUES
(1, 'Libreta cua. chico', 12, 10, 'papeleria'),
(2, 'Libreta cua. grande', 12, 12, 'papeleri­a'),
(3, 'Caja regalo chica', 5, 20, 'regalos'),
(4, 'Caja regalo grande', 7, 20, 'regalos'),
(5, 'Carolina Herrera 30m', 400, 2, 'perfumes'),
(6, 'Armani Aqua 30ml', 600, 2, 'perfumes');

2.-Crear un nuevo proyecto en NetBeans con el nombre tiedaReportes, y desactivar la creación automática de la clase Main.


3.-Una vez creado el proyecto se agregan dos packages: Principal y Reportes, en el primero se colocara un JFrame, que contendrá un botón con el cual se visualizara el reporte que se creara más adelante.


4.-En la siguiente imagen se ve el JFrame de referencia.


5.-El componente JButton que se agregara al JFrame.



6.-Dentro del proyecto en la carpeta Libraries se hace clic derecho y se agregan dos librerías: MySQL JDBC Driver para la conexión con la Base de datos y la librería JasperReports que se creó en el tutorial anterior.


7.-En la siguiente imagen se puede ver la estructura del proyecto completo, donde ya se agregaron las librerías necesarias para la conexión con MySQL y la visualización de reportes Jasper.



8.-Dentro del proyecto se agregaran las siguientes librerías necearías para el proyecto.

//Librerías para la conexión con la BDimport java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.Statement;import java.sql.SQLException;import javax.swing.JOptionPane; //Librerías para la visualización de los reportes import net.sf.jasperreports.engine.JRException;import net.sf.jasperreports.engine.JasperCompileManager;import net.sf.jasperreports.engine.JasperFillManager;import net.sf.jasperreports.engine.JasperPrint;import net.sf.jasperreports.view.JasperViewer; 9.-Se declaran variables miembros para la conexión con la Base de datos.     private ResultSet rs;
    private Connection conexion;    private Statement st;    10.-Se crea el método Conectar y se configuran los parámetros: Dirección del servidor, nombre de la base d de datos,  usuario y contraseña. Nota: en este caso el método también realiza una consulta e imprime el primer registro, para verificar que la conexión se realizó con éxito.   public final void Conectar() {
        try {            conexion = DriverManager.getConnection("jdbc:mysql://localhost/tienda", "root", "");            st = conexion.createStatement();            rs = st.executeQuery("SELECT * FROM productos;");            rs.next();            System.out.println(rs.getString("producto"));        } catch (SQLException err) {            JOptionPane.showMessageDialog(this, "Error 1: " + err.getMessage());        }    }    11.- Dentro del constructor del JFrame Tienda se realiza una llamada al método Conectar() y se verifica la conexión.     public Tienda() {
        initComponents();        Conectar();    } 12.-En la siguiente imagen se puede ver que el JFrame y la conexión se realizo correctamente.



13.-Ya que se verifico la conexión se inicia iReport Designer, para realizar el diseño del reporte y poder utilizarlo en NetBeans.


14.-El primer paso de 3 es crear la conexión con la Base de datos, para esto hay que hacer clic en el icono de la base de datos, con lo que se despliega el asistente de configuración, la conexión que se utilizara en este tutorial es la primera Database JDBC conncetion.



15.-El nombre de la conexión es tienda, el driver que se utilizará es MySQL (com.mysql.jdbc.Driver), el nombre de la base de datos en tienda, el usuario root y sin contraseña.



16.-Si los datos que se introdujeron son correctos al hacer clic en el botón Test se mostrara el mensaje de Conexión exitosa, una vez hecho esto se hace clic en el botón Save para guardar la conexión y avanzar al siguiente paso.



17.- En el paso 2 es donde se diseña el reporte, para este ejemplo se tomara la plantilla Simple Blue y se usara el asistente, para esto se hace clic en el botón Launch Report Wizard.



18.-En el siguiente paso se utilizara el nombre reporteProductos y la ubicación del reporte será la carpeta Reportes que se creó en el proyecto de NetBeans.



19.-En el paso tres se escribe la consulta que permitirá tener acceso a los campos necesarios para el reporte, se puede realizar de varias formas, escribiéndola, cargando un script SQL,  o utilizando el asistente visual de iReport, en este caso se escribe la siguiente consulta :


SELECT * FROM productos;




20.-En el paso 4 Fields se eligen los campos que se utilizaran en el reporte, para este ejemplo se seleccionan todos los campos.



21.- Es posible agrupar los registros para facilitar la lectura del reporte, en este caso se agruparan por categoría.



22.-Una vez terminada la configuración se hace clic en el botón Terminar para que el asistente crear el reporte con la extensión jpxml.



23.-En la siguiente imagen se ve el reporte generado en una vista de diseñador, lo que significa que se pueden ordenar de una forma diferente los campos, o cambiar el color y el texto del título del reporte o anexar el logotipo de la empresa.



24.- Al abrir nuevamente el proyecto de NetBeans se ve que en la carpeta Reportes ya existe el archivo reporteProductos.jrxml, que es el archivo que contiene el diseño del reporte que se va a generar.


25.-En iReport al hacer clic en la vista Preview se ve el reporte final incluyendo los datos existentes de la Base de Datos.



26.-Al regresar nuevamente a NetBeans se ve que en la carpeta Reportes ahora existen dos archivos de nombre reporteProductos pero con extensión jasper y jrxml.

La extensión jrxml es el diseño del reporte, y el archivo jasper es el reporte compilado y listo para se visualizado.

Después de este paso se puede cerrar iReport y regresar a NetBeans para agregar el código correspondiente para compilar el reporte y posteriormente visualizarlo.



27.-En Netbeans se agrega el siguiente código con el que se van a generar dos objetos uno de tipo JasperPrint que es el que permite generar el reporte y con los datos que obtenga de la base de datos. El otro objeto es de tipo JasperViewer que se encarga de visualizar el reporte.


Comentarios

tony dijo…
pero no muestras como usar el jasperprint y el viewer podrias hacerlo

Entradas más populares de este blog

Creación de Librerías en Java

Creación de Librerías en Java   Las librerías son un conjunto de clases con funciones especificas que ayudan a desarrollar aplicaciones más complejas de una forma sencilla, por ejemplo si se requiere realizar cálculos matemáticos y emplear el funciones como el Seno o Coseno, simplemente se importa la librería Math y se utilizan estos métodos, en lugar de desarrollarlos. Java cuenta con una extensa lista de librerías disponibles dentro del JDK o desarrolladas por terceros, pero también existe la posibilidad de desarrollar librerías propias para reutilizar de forma más eficiente el código, por ejemplo si se trabaja de forma cotidiana con conexión a base de datos, se pueden desarrollar métodos genéricos que realicen la conexión, que validen las consultas, etc. de forma que su uso reduzca el tiempo de desarrollo e incremente la productividad. Para este tutorial se van a crear dos proyectos en NetBeans, uno sera la librería y el otro proyecto hará uso de esta.

Elegir la clase a ejecutar en NetBeans, MVC

Elegir la clase a ejecutar en NetBeans Para que java pueda ejecutar una aplicación esta debe tener un método conocido como punto de entrada, este método tiene la sintaxis: void static void main(String [] sax){ //código } En ocasiones en una aplicación tiene varios puntos de entrada, que pueden servir para probar diferentes partes de la aplicación sin tener que recorrer o pasar por varias clases, para esto se puede seleccionar directamente en las propiedades del proyecto que clase será la principal.

Librerías JOptionPane para generar ventanas de entrada y salida de datos

Para poder introducir datos leídos desde el teclado existen varias formas, una de ellas hace uso de la librería javax.swing.JOptionPane que entre otras opciones permite mostrar ventanas para introducir datos, y ventanas para mostrar valores. Con el uso de esta librería se crean pequeñas interfaces definidas por el sistema, pero ya se hace uso de las librerías graficas swing, que se verán más adelante.