This time I will show you. how to run a report without any datasource from iReport, Basically this type of reporting allow us to display a template file (JASPER) in jasperViewer, using the JREmptyDataSource() class. The java source for the execution of such reports would be as follows:
/**
*
* @author
* Javier Dominguez Geniz
* 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 JasperTest {
public static void main(String[] args) {
//Filename of the report (jasper file)
String fileName = “ao.jasper”;
HashMap param = new HashMap();
try {
//Fill the report with an empty data source
/*jasper filename, parameter(hash map) and JREmptyDataSource */
JasperPrint print = JasperFillManager.fillReport(fileName, param, new JREmptyDataSource());
//launching jasperviewer
JasperViewer jviewer = new JasperViewer(print,false);
//Ser the jasperviewer title
jviewer.setTitle(“Reporting with empty datasource – http://ajdgeniz.wordpress.com”);
jviewer.setVisible(true);
} catch (JRException e) {
e.printStackTrace();
System.exit(1);
}
}
}
DOWN SOURCE(Empty Report)






Hola a todos, tengo un problema, quiero hacer un reporte desde, pero ese reporte se tiene que cambiar la configuracion xml del connection
o sea la bd, user, password, server y mas. pa lo cual el informe tiene q ser elaborado por un archivo xml que tenga esa configuracion mas q contenga la base de datos con las tabla y/o campos a mostrar en el reporte, ,, ayuda por favor si alguien sabe como hacerlo…
Por: jhonny nina veizaga el septiembre 8, 2010
a las 8:05 am
Podrias ser un poco mas explicito como tienes que haccer tu reporte, nose tal vez diciendo cual es tu fuente de datos, o si utilizares xpath, un poco mas concreto.
Por: Geniz el septiembre 8, 2010
a las 9:18 am
Hola Geniz, estoy intentando hacer un reporte en pdf donde los datos a agregar a mi pdf, seran extraidos de un .xls, he probado tu ejemplo, y me da el siguiente error:
Exception in thread “main” java.lang.NoClassDefFoundError: org/apache/commons/collections/ReferenceMap
at net.sf.jasperreports.extensions.DefaultExtensionsRegistry.(DefaultExtensionsRegistry.java:96)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at java.lang.Class.newInstance0(Unknown Source)
at java.lang.Class.newInstance(Unknown Source)
at net.sf.jasperreports.engine.util.ClassUtils.instantiateClass(ClassUtils.java:59)
at net.sf.jasperreports.extensions.ExtensionsEnvironment.createDefaultRegistry(ExtensionsEnvironment.java:80)
at net.sf.jasperreports.extensions.ExtensionsEnvironment.(ExtensionsEnvironment.java:68)
at net.sf.jasperreports.engine.util.JRStyledTextParser.(JRStyledTextParser.java:76)
at net.sf.jasperreports.engine.fill.JRBaseFiller.(JRBaseFiller.java:182)
at net.sf.jasperreports.engine.fill.JRVerticalFiller.(JRVerticalFiller.java:77)
at net.sf.jasperreports.engine.fill.JRVerticalFiller.(JRVerticalFiller.java:87)
at net.sf.jasperreports.engine.fill.JRVerticalFiller.(JRVerticalFiller.java:57)
at net.sf.jasperreports.engine.fill.JRFiller.createFiller(JRFiller.java:142)
at net.sf.jasperreports.engine.fill.JRFiller.fillReport(JRFiller.java:78)
at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:624)
at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:540)
at JasperEmpty.main(JasperEmpty.java:24)
Caused by: java.lang.ClassNotFoundException: org.apache.commons.collections.ReferenceMap
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
… 20 more
Alguna sugerencia?
Por: Cucha el septiembre 23, 2010
a las 2:51 pm
Hola Geniz, estoy intentando hacer un reporte en pdf donde los datos a agregar a mi pdf, seran extraidos de un .xls, he probado tu ejemplo, y me da el siguiente error:
Exception in thread “main” java.lang.NoClassDefFoundError: org/apache/commons/collections/ReferenceMap
at net.sf.jasperreports.extensions.DefaultExtensionsRegistry.(DefaultExtensionsRegistry.java:96)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at java.lang.Class.newInstance0(Unknown Source)
at java.lang.Class.newInstance(Unknown Source)
at net.sf.jasperreports.engine.util.ClassUtils.instantiateClass(ClassUtils.java:59)
at net.sf.jasperreports.extensions.ExtensionsEnvironment.createDefaultRegistry(ExtensionsEnvironment.java:80)
at net.sf.jasperreports.extensions.ExtensionsEnvironment.(ExtensionsEnvironment.java:68)
at net.sf.jasperreports.engine.util.JRStyledTextParser.(JRStyledTextParser.java:76)
at net.sf.jasperreports.engine.fill.JRBaseFiller.(JRBaseFiller.java:182)
at net.sf.jasperreports.engine.fill.JRVerticalFiller.(JRVerticalFiller.java:77)
at net.sf.jasperreports.engine.fill.JRVerticalFiller.(JRVerticalFiller.java:87)
at net.sf.jasperreports.engine.fill.JRVerticalFiller.(JRVerticalFiller.java:57)
at net.sf.jasperreports.engine.fill.JRFiller.createFiller(JRFiller.java:142)
at net.sf.jasperreports.engine.fill.JRFiller.fillReport(JRFiller.java:78)
at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:624)
at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:540)
at JasperEmpty.main(JasperEmpty.java:24)
Caused by: java.lang.ClassNotFoundException: org.apache.commons.collections.ReferenceMap
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
… 20 more
Alguna sugerencia? Estoy usando Eclipse Galileo. Y mis librerias son:
commons-beanutils-1.8.0.jar.zip
commons-collections-3.2.jar.zip
commons-logging.jar
iText-2.1.6.jar
jasperreports-3.7.5.jar
xercesImpl.jar
commons-digester-2.0.jar.zip
Por: Cucha el septiembre 23, 2010
a las 2:53 pm
Estas utilizando iReport o a traves de que extraes los datos?, te recuerdo q iReport es capaz de extraer y usar como archivos fuentes XLS
Por: Geniz el septiembre 26, 2010
a las 12:08 pm
Hola a todos. Queria saber si se puede hacer lo siguiente.
Yo muestro una lista de campos de una tabla, para que los seleccionen (son con los que quiero hacer el informe), incluso son campos de varias tabla que estan relacionadas.
Yo usando una sentencia SQL los puede ver todos, es decir la sentencia la se hacer.
Lo que no se hacer es como indicar al informe los campos que se han seleccionado.
Espero explicarme bien.
Gracias a todos.
Por: jesus el diciembre 22, 2010
a las 4:12 am
El informe se “llena” autmoticamente con los campos de la consulta que le especifiques; es decir, el informe recibe una consulta SQL, y los campos que esta genera son los que se mostraran en el informe.
Por: Geniz el diciembre 22, 2010
a las 8:27 am
Ok, muchas gracias, lo voy a intentar. Saludos de Aviles (Asturias España)
Por: jesus el diciembre 25, 2010
a las 3:56 am
Hola que tal baje el codigo y unas librerias necesarias pero me sale este error:
net.sf.jasperreports.engine.JRException: java.io.FileNotFoundException: ao.jasper
at net.sf.jasperreports.engine.util.JRLoader.loadObject(JRLoader.java:84)
at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:536)
at hotel.JasperTest.main(JasperTest.java:18)
Caused by: java.io.FileNotFoundException: ao.jasper
NOTA: Coloque clase y los archivos de reporte en el mismo paquete pero nada…Gracias por tu ayuda de antemano..
Por: Dubal el diciembre 30, 2010
a las 8:47 am
no esta encontrando el archivo .jasper, verifica la ruta
Por: guerra el marzo 28, 2011
a las 12:34 pm
hola que tal estoy tratando de hacer un reporteador pero los datos los tengo en tiempo real en una aplicacion de java y no lo quiero hacer con base de datos solo quiero que me los mande al ireport pero no se como hacerle necesito ayuda
Por: marco el marzo 25, 2011
a las 2:30 pm
Hola, he hecho un informe con iReport que me muestra datos de varias tablas de base de datos y el problema que tengo es que solamente me muestra un registro por cada hoja. En vez de sacarme todos los registros seguidos. Asi que para mostrar 100 registros me esta generando un informe de 100paginas ¿cómo lo puedo solucionar?
en ColumnHeader he metido los nombres de los campos que quiero mostrar (ej: Nombre, direccion,…) y luego en Detail solo tengo los campos a mostrar ¿que hago mal?
Por: jose el septiembre 5, 2011
a las 5:12 am