Por qué Jaspersoft Studio? En mi experiencia, los reportes son fundamentales en toda aplicación o software empresarial que creamos. Ellos nos muestran la información ya procesada que es el objetivo de nuestros desarrollo, presentar informes precisos, entendibles que permitan tomar decisiones asertivamente. Es por eso que en esta ocasión les queremos compartir acerca de jasperReports con Jaspersoft Studio, la herramienta de referencia en el mundo java para los reportes.
JasperReports es una biblioteca de creación de informes que tiene la habilidad de entregar contenido enriquecido al monitor, a la impresora o a ficheros PDF, HTML, XLS, CSV y XML.
Escrito completamente en java, por y para java, puede ser usado en gran variedad de aplicaciones tanto EE (Enterprise), como SE(Standart), o de escritorio, puede servir reportes fijos y dinámicos.
Requerimientos previos a la instalación en ambiente Windows
Funciona en Windows XP / 7/8 con 32 o 64 bits, Linux (32 o 64 bits), MacOS X en 64 bits.
Procesador de 3GHZ o superior (32/64). La cantidad de la memoria RAM es completamente dependiente de la complejidad de los informes, se recomienda un valor de 1 GB dedicado a Jaspersoft de estudio, ya dado que en el sistema hay muchas otras cosas que requieren RAM se sugiere que el equipo tenga un mínimo de 4GB de RAM.
Se requiere una distribución completa de Java. Necesitas descargar el Java Development Kit (JDK) 1.6 o la ultima versión jdk-12.0.1_windows-x64_bin.exe
** No olvides el JDBC con el que te conectaras al motor de Base de datos, de otro modo no podrás acceder a los datos.
Instalando Jaspersoft Studio 6.9.0 (windows)
1. Visitar la página https://community.jaspersoft.com/project/jaspersoft-studio/releases para bajarnos la última versión de JasperSoft Studio, en este caso la 6.9.0.
la primera vez nos mostrará una página para iniciar sesión o inscribirnos al sitio de la comunidad de Jaspersoft.
2. Después de finalizar la descarga del instalador, dar doble clic en el archivo TIB_js-studiocomm_6.9.0_windows_x86_64.exe
3. Clic en “I Agree” (estoy de acuerdo)
4. Seleccionar la carpeta donde deseamos instalar el programa, podemos dejar la ubicación por defecto y hacer clic en instalar.
5. Esperar que se instale el programa
6. Clic en Finish (Finalizar)

En este Lote de artículos vamos a utilizar MS SQL Server para nuestro ejercicios, por tanto, el paso posterior a la instalación de JasperSoft Studio 6.9.0 seria Instalar el driver para Microsoft SQL Server:
El driver que bajemos dependerá de la versión de SQL Server que tengamos instalada en nuestra computadora. Para eso visitaremos la página https://docs.microsoft.com/en-us/sql/connect/jdbc/download-microsoft-jdbc-driver-for-sql-server?view=sql-server-2017
Copiar el archivo sqljdbc4.jar a la carpeta: C:Program FilesTIBCOJaspersoft Studio-6.9.0featuresjre.win32.win32.x86_64.feature_1.8.0.u151jrelibext
NOTA
Opcionalmente, si queremos usar la autenticación con el usuario de Windows o seguridad integrada con SQL Server:
Copiar el archivo sqljdbc_auth.dll a la carpeta: C:Program FilesTIBCOJaspersoft Studio-6.9.0featuresjre.win32.win32.x86_64.feature_1.8.0.u151jrebin
Para que surtan efectos los cambios debemos cerrar y volver a abrir la aplicación de JasperSoft Studio.
Format Style
Las normas de estilo son fundamentales tanto para crear una identidad como para transmitir correctamente. Desde el momento en que decidimos crear un proyecto, la coherencia visual es importante, UX y UI están de la mano, y en los reportes no puede ser la exception.
Por esta razón aconsejamos crear un estilo propio que se aplique a todos los estilos de los reportes que vamos a crear.
Propuesta de normativa para formateo de reportes
Elemento de sección | Norma a aplicar | |||
No. | Descripción | Fuente/estilo/bordes | Tamaño | Alineación |
Encabezado del reporte |
| |||
1 | Nombre de Entidad | Arial + Mayúscula + Negrita | 12 | Centrado |
2 | Unidad administrativa de la entidad | Arial + Mayúscula + Negrita | 10 | Centrado |
3 | Código del reporte | Arial + Negrita | 9 | Derecha |
4 | Título | Arial + Mayúscula + Negrita | 11 | Centrado |
5 | Subtítulo | Arial + Mayúscula + Negrita | 10 | Centrado |
6 | Periodo de Fecha | Arial + Mayúscula + Negrita | 9 | Centrado |
Agrupaciones |
| |||
7 | Encabezado y subtitulo de la agrupación | Arial Narrow + Negrita con borde superior e inferior | 8 | Izquierda |
8 | Detalle de la agrupación | Arial Narrow | 8 |
|
9 | Sub-total por agrupación | Arial Narrow + Negrita con borde superior | 9 |
|
Detalle |
| |||
10 | Etiquetas o nombres de columna | Arial Narrow + Negrita con borde superior e inferior | 8 | Izquierda |
11 | Detalle | Arial Narrow | 8 |
|
Pie del reporte |
| |||
12 | Versión, módulo, página # de ## páginas, usuario, fecha | Arial Narrow con línea fina (0.6 px) parte superior de las etiquetas | 8 |
|
Sumatoria o suma a nivel de reporte |
| |||
13 | Suma | Arial Narrow con borde superior | 9 |
|
Ejemplo de estilos.
Elemento | Ejemplo |
Ejemplo de Negrita, Cursiva y Subrayado en texto estático |
|
Hola Mundo | |
| |
Ejemplo de Negrita y Cursiva y fondo amarillo en texto estático |
|
Hola Mundo | |
| |
Ejemplo de Negrita y Cursiva y color azul en texto estático |
|
Hola Mundo | |
textElement | |
| |
Ejemplo de Negrita, fondo verde, color de la fuente rojo en campo de texto | “ |
+ $F{Campo} + | |
” “ |
Aplicando formato a números y fechas
Elemento | Ejemplo |
Formato para campos numéricos | ” (C$ ” + new java.text.DecimalFormat(“#,##0.00”).format($F{Total}) + “)” |
Formato para campos de fechas | (new SimpleDateFormat(“dd/MM/yyyy”).format($F{Fecha})) |
Mostrar un elemento si el número de página es par | new Boolean($V{PAGE_NUMBER}%2==0 ) |
Mostrar un elemento si el número de página es 1 | new Boolean($V{PAGE_NUMBER}.intValue()==1) |
Mostrar un elemento si el valor de un campo de la consulta es 1 | new Boolean($F{Campo}.equals(new Integer(1)) ? true : false) |
Condicionales en campos de texto | ( $F{Referencia}.intValue() == 1 |
? “Referencia tiene valor 1” | |
: ( $F{Referencia}.intValue() == 3 | |
? “Referencia tiene valor 3” | |
:”Referencia tiene un valor distinto a 1 ó 3“ ) | |
) |