Reporte sin conexión a base de datos (Empty Report)


En esta ocasión mostrare como ejecutar un reporte sin conexion alguna a base de datos, este tipo de informes basicamente nos sirve solo para mostrar una plantilla (archivo JASPER) en el jasperViewer, por lo cual utilizaremos a la clase JREmptyDataSource(), el codigo para realizar la ejecucion de este tipo de reportes seria de la siguiente manera:
/**
*
* @author
* Javier Dominguez Geniz – Sistemas
* http://ajdgeniz.wordpress.com
*/

import net.sf.jasperreports.engine.*;
import java.util.*;
import net.sf.jasperreports.view.JRViewer.*;
import net.sf.jasperreports.view.*;

public class JasperEmpty {

public static void main(String[] args) {
String fileName = “ao.jasper”;

HashMap param = new HashMap();
try {

// llenamos el reporte con un origen de datos vacio donde le pasamos como argumentos
//el nombre del archvios jasper, el hasmap y una JREMptyDataSource que especifica que no habra conexion a
// base de datos

JasperPrint print = JasperFillManager.fillReport(fileName, param, new JREmptyDataSource());

//lanzamos ej jasper viewer recibiendo coo argumento el informe y un valor boolenano para indicar
// que una vez cerrado el visor, no termine la aplicacion principal

JasperViewer jviewer = new JasperViewer(print,false);

//Establecemos el titulo del visor
jviewer.setTitle(“Reporte sin conexion a base de datos – http://ajdgeniz.wordpress.com”);
jviewer.setVisible(true);

} catch (JRException e) {
e.printStackTrace();
System.exit(1);
}
}
}


DESCARGAR: Codigo Fuente de Reporte Vacio(Empty Report)

Como podrá darse cuenta es relamente un codigo muy reducido, pero que finalmente ejecutará su informe.

Respuestas

  1. Gracias por la ayuda, me funcionó correctamente.

  2. Me aparece un error en la línea 24
    net.sf.jasperreports.engine.JRException: java.io.FileNotFoundException: ao.jasper
    como lo soluciono??

  3. hola me podrias ayudar por favor me marka un error aun haciendolo como en esta paractica sin conexion a mysql
    llevo dias sin poder arreglar este problema muchas gracias
    este es mi error
    Exception in thread “AWT-EventQueue-0″ net.sf.jasperreports.engine.JRRuntimeException: Unknown hyperlink target 0
    at net.sf.jasperreports.engine.JRHyperlinkHelper.getLinkTarget(JRHyperlinkHelper.java:269)
    at net.sf.jasperreports.engine.base.JRBaseImage.normalizeLinkTarget(JRBaseImage.java:925)
    at net.sf.jasperreports.engine.base.JRBaseImage.readObject(JRBaseImage.java:1047)

    • Hola, el error de “Unknown hyperlink target 0″ se debe principalmente a que tienes la misma libreria duplicada es decir; puede que tu proyecto tenga jasperreports version 3 y la misma pero en version 4, cuando sucede esto, el compilador no sabe de cual de las dos tomara la clase que necesit ay lanza esta exception. la solucion si es este tu caso, seria quitar la referencia a alguna de ellas.

  4. si tengo una clase donde estan 3 textfield donde el usuario mete datos pero no quiero mandarlos a una base de datos esto se puede hacer!!?? solo quiero mandar 3 valores nombre matricula y nivel academico….. AYUDA =D

    • por supuesto qeu si, el reporte solo puede o no recibir parametros, o puedes usar esos datos de los parametros para cualquier otra cosa, no necesariamente para el reporte.


Deja un comentario

Fill in your details below or click an icon to log in:

Logo de WordPress.com

You are commenting using your WordPress.com account. Log Out / Cambiar )

Twitter picture

You are commenting using your Twitter account. Log Out / Cambiar )

Facebook photo

You are commenting using your Facebook account. Log Out / Cambiar )

Connecting to %s

Seguir

Get every new post delivered to your Inbox.

Únete a otros 62 seguidores