Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   Java (http://www.forosdelweb.com/f45/)
-   -   Jasper Report + iReport + NetBeans 4 (http://www.forosdelweb.com/f45/jasper-report-ireport-netbeans-4-a-280528/)

DestruKtor 16/05/2005 07:15

Cita:

Iniciado por patasgreen20
Si ya me chute todo el FORO y ya hice todo lo que decia, pero me sigue saliendo en blanco.

debes tener tanto el el servidor como en la carpeta lib del iReport la misma vercion del archivo Jasperrepor.0.6.x y compilar ambos con la misma.

Ctx(Arquero23) 16/05/2005 08:19

Cita:

Iniciado por Kangulo
Hola A Todos, si alguien sabe por favor como cargar un reporte el cual tiene una imagen que se guarda en una carpeta en el servidor y la ruta de esta imagen esta una base de datos, si le coloco como parametro en la ruta de la imagen el campo de la base de datos no me permite compilar el reporte, alguien sabe como se hace esto?

Saludos.


Hola Yo puse un ejemplo de como llamar la direccion de la imagen, checalo en un post anterior, Saludos!!!!

patasgreen20 16/05/2005 10:04

MUCHAS GRACIAS A TODOS YA QUEDO, YA ME MOSTRO EL REPORTE, SABEN QUE ERA, y la verdad me da pena admitirlo, es que yo queria mandar los resultados de un vector a imprimir, y no es asi como funciona el jasperreport, tengo que mandar una consulta FORZOSAMENTE, GRACIAS!!!

wifer 16/05/2005 14:05

DestruKtor y Kangulo
 
Muchas Gracias muchachos, pues con su ayuda hemos podido resolver muchos problemas, ya podemos generar un archivo con salida a pdf y a excel.

Mi inquietud ahora es, que asi como se genera el archivo en pdf y se despliega automáticamente por el explorador, asi queremos hacerlo con excel; en estos momentos ya lo generamos pero queda en el disco duro.

Esto lo hacemos desde un jsp.

Mil gracias

KirsonX 16/05/2005 14:14

Dudas reportes
 
Hola a todos voy a ser un poco más específico con mis dudas, pues sospecho que tengo uno de los escenarios más complicados de resolver dentro del foro y he de requerir de toda la ayuda posible para solventarlo.
Mi escenario es el siguiente:
Estoy desarrollando un esquema de generacion de reportes para una institucion publica. Se busca que sea lo mas generico y flexible posible .
Tengo varios retos importantes
1) Mis reportes van a ser generados por usuarios que desconocen por completo el esquema de la BDD, asi que el reporte no usa un objeto conexion sino un JRDatasource. Este datasource debia ser genérico pues no es la idea definir 1 objeto JRDatasource para todos los casos. Hice mi propia implementación basándome en los ejemplos de jasper y aparentemente funcionaria mi esquema.
2) Almacenar la plantilla del reporte en una BDD Oracle, recuperarlo cuando se requiera y sin descargarlo a disco ejecutar el reporte. Esta parte ya la resolvi gracias al uso de objetos BLOB y al metodo JasperReport report = (JasperReport)JRLoader.loadObject(barchivo.getBina ryStream()); que me permite cargar el reporte desde un inputstream.
3) Por la estructura de los documentos me veo obligado a usar subreportes. Ya logre un ejemplo con subreportes. Sin embargo desde mi aplicacion DEBO seleccionar varios datos de entradas y con ellos mandar a generar el reporte. Si tuviera q enviarlos de 1 en 1 NO tendria problemas, pero desean q si escoge 1 o varios datos, el resultado se muestre en un único PDF (en el browser) donde por cada nuevo dato se reinicie la numeración de las páginas.
Para esto yo envio al reporte maestro su propio datasource y desde el reporte maestro le paso otro datasource al subreporte(x parametros). los dos datasource solo tienen un dato en comun que puede ser un dato de identificacion de persona, pero el conjunto de informacion que presentan es completamente distinto. Debo resolver el tema de la numeracion de las paginas y lograr q para entradas múltiples se presente la información del SUBREPORTE para todos los casos. Actualmente solo el primer dato se carga con información en el subreporte y a los subsiguientes no les llega la información.
Espero haber sido claro y si tienen ayudas o sugerencias que me puedan proporcionar lo agradecere mucho
Saludos
KirsonX

patasgreen20 16/05/2005 15:57

Hola a todos nuevamente a quien me quiera ayudar, tengo un vector[25] con los resultados de un query cada registro tiene 5 campos, estos 5 registros los quiero mandar a imprimir, pero con el siguiente codigo me aparece solo el primer registro, me pueden dar ideas de como hacerlo?

<%@ page errorPage="/base_de_datos/error.jsp" %>
<%@ page import="net.sf.jasperreports.engine.util.JRLoader" %>
<%@ page import="net.sf.jasperreports.engine.*" %>
<%@ page import="java.util.*" %>
<%@ page import="java.io.*" %>
<%@include file="conexion.jsp"%>
<%
String cad1="",cad2="",cad3="",cad4="",cad5="",cad6="",ca d7="",cad8="",cad9="",cad10="";
String cad11="",cad12="",cad13="",cad14="",cad15="",cad16 ="",cad17="",cad18="",cad19="",cad20="";
//SE BAJA DE SESSION EL ARREGLO
Vector miVector = (Vector) request.getSession().getAttribute("resultado");
int r=0,x=0;
String arreglo[];
r=miVector.size();
arreglo = new String[r];
int num_reg = r/20;
System.out.print(num_reg);
miVector.toArray(arreglo);

for(int i=0;i<=num_reg;i++){
int j=i*20;
x++;
cad2=arreglo[j+1];
System.out.println("cad2: "+cad2);
cad3=arreglo[j+2];
System.out.println("cad3: "+cad3);
cad4=arreglo[j+3];
System.out.println("cad4: "+cad4);
cad5=arreglo[j+4];
System.out.println("cad5: "+cad5);
cad6=arreglo[j+5];
System.out.println("cad6: "+cad6);
cad7=arreglo[j+6];
if(cad7.equals("1")){
cad7="MASCULINO";
} else {
cad7="FEMENINO";
}
System.out.println("cad7: "+cad7);
cad8=arreglo[j+7];
System.out.println("cad8: "+cad8);
cad9=arreglo[j+8];
System.out.println("cad9: "+cad9);
cad10=arreglo[j+9];
System.out.println("cad10: "+cad10);
cad11=arreglo[j+10];
System.out.println("cad11: "+cad11);
cad12=arreglo[j+11];
System.out.println("cad12: "+cad12);
cad13=arreglo[j+12];
System.out.println("cad13: "+cad13);
cad14=arreglo[j+13];
System.out.println("cad14: "+cad14);
cad15=arreglo[j+14];
System.out.println("cad15: "+cad15);
cad16=arreglo[j+15];
System.out.println("cad16: "+cad16);
cad17=arreglo[j+16];
System.out.println("cad17: "+cad17);
cad18=arreglo[j+17];
System.out.println("cad18: "+cad18);
cad19=arreglo[j+18];
System.out.println("cad19: "+cad19);
cad20=arreglo[j+19];
System.out.println("cad20: "+cad20);


//File reportFile = new File("C:\\jakarta\\webapps\\ROOT\\exa_ED\\reports\ \Reporte.jasper");

File reportFile = new File(application.getRealPath("/exa_ED/reports/Reporte.jasper"));
System.out.println("ESTADO DEL REPORTE "+reportFile.exists()+" "+reportFile.canRead()+" "+reportFile.length()+" "+reportFile.getPath() );

Map parameters = new HashMap();
parameters.put("cad1", cad1);
parameters.put("cad2", cad2);
parameters.put("cad3", cad3);
parameters.put("cad4", cad4);
parameters.put("cad5", cad5);
parameters.put("cad6", cad6);
parameters.put("cad7", cad7);
parameters.put("cad8", cad8);
parameters.put("cad9", cad9);
parameters.put("cad10", cad10);
parameters.put("cad11", cad11);
parameters.put("cad12", cad12);
parameters.put("cad13", cad13);
parameters.put("cad14", cad14);
parameters.put("cad15", cad15);
parameters.put("cad16", cad16);
parameters.put("cad17", cad17);
parameters.put("cad18", cad18);
parameters.put("cad19", cad19);
parameters.put("cad20", cad20);

parameters.put("sql_query", " select * from N3_ALUMNOS ");

byte[] bytes = JasperRunManager.runReportToPdf(reportFile.getPath (),parameters,conna);
System.out.println(bytes.length);
System.out.println(bytes);
response.setContentType("application/pdf");
response.setContentLength(bytes.length);
ServletOutputStream ouputStream = response.getOutputStream();
ouputStream.write(bytes,0,bytes.length);
ouputStream.flush();
//ESTO LO HAGO PARA QUE CON EL close NO SE DETENGA LA EJECUCION
if(x==num_reg){
System.out.println("Termino");

ouputStream.close();
}
}
Y si pasa registro por registro pero en el acrobat solo me aparece el ultimo?

acano 17/05/2005 02:04

Por fin SOLUCIONADO!
 
Gracias a todos los que me contestaron. Definitivamente me faltaban librerias, ademas de tener versiones diferentes de jDeveloper y j2sdk, ambos tienen que ejecutar la misma version y tambien adecuar la version del oc4j.
En fin un cacao pero ya va bien, muxas gracias por vuestra ayuda.
Seguiré con el paso de parámetros a ver que tal.

Por cierto, alguien sabe por que la letra "ñ" se muestra como "?". Como se escribe el caracter ñ.

Como puedo quitar de un dato tipo double el decimal 0.0 sin cambiar el tipo a entero.

Si alguien lo sabe y me puede ayudar lo agradeceria.

Con respecto a vuestras preguntas, las he leido pero aun no tengo conocimientos suficientes para poder ayudar.

Gracias! :arriba:

KirsonX 17/05/2005 09:27

Datasource expresion
 
Hola a todos basando en el ejemplo de xmldatasource que viene con jasper estoy intentando construir un "datasource expresion" para solventar los problemas que he mencionado en posteos anteriores al foro.

Me pinta el siguiente error

((ec.gov.sri.gestiontributaria.pdf.datasource.Gene ricSubReportDataSource)$P{DataSource_Omisiones}).d atasource($F{numeroRuc})::net.sf.jasperreports.eng ine.fill.JRExpressionEvalException:
Error evaluating expression : dataSource_1

Si tienen alguna pista se los agradeceria mucho
Saludos
KirsonX

MMF 18/05/2005 02:12

Hola a todos,

Necesito generar un reporte complejo por lo que utilizo subreports en el pluggin Sunshine reports de eclipse.
El problema que tengo es que cuando incluyo un segundo subreport diferente me salta el error: "Duplicate declaration of report font : Arial_Normal".

He probado quitando este fontreport del subreport pero sigue produciendose el error, que sólo se soluciona quitando el subreport. ¿Alguien sabe cómo corregirlo?

Saludos,
MMF

desireep 18/05/2005 09:21

HOLA A TODOS
Necesito saber como se utilizan los REPORT_PARAMETERS_MAP.
En la clase le paso los parametros con lo del parameter.put(key,value), pero luego cuando estoy diseñando el report, y quiero que en una caja aparezaca uno de los parametros que le he pasadao por el map, no se como indicarle el que quiero concretamente, ya que el map tiene varios, me explico???
Mucahs gracias, ruego que si alguien puede contestarme lo haga de inmedito, ya que es para el trabajo y lo necesito.

KirsonX 18/05/2005 10:15

Sugerencia
 
En el foro existe la tendencia de muchos de nosotros a preguntar.. me incluyo aunque ya he posteado varias respuestas..
Creo que deberiamos tomar conciencia de que todos necesitan ayuda y en la medida de lo posible empezar a responder las preguntas que se van quedando pendientes.. y para quien lanze una pregunta. antes debería barrerse todo el foro para evitar preguntar algo que posible ya haya sido solventado anteriormente.
Saludos
KirsonX

Kangulo 18/05/2005 15:21

Hola a Todos
 
Para desireep:
Cita:

Iniciado por desireep
HOLA A TODOS
Necesito saber como se utilizan los REPORT_PARAMETERS_MAP.
En la clase le paso los parametros con lo del parameter.put(key,value), pero luego cuando estoy diseñando el report, y quiero que en una caja aparezaca uno de los parametros que le he pasadao por el map, no se como indicarle el que quiero concretamente, ya que el map tiene varios, me explico???
Mucahs gracias, ruego que si alguien puede contestarme lo haga de inmedito, ya que es para el trabajo y lo necesito.

Hola desireep :pensando: , te ruego trates de ser un poco mas explicita con tu pregunta ya que si lo haces te aseguro que obtendras respuestas mas rapidamente y concisas, de todos modos tratare de ayudarte segun lo q entendí. :-)

Tienes que saber que los parametros que has de pasar al reporte, estos, deben estar previamente creados en el reporte, esto se hace mediante el diseñador en la sección de iReport | View | Report Parameters . Una vez que los hayas agregados los podras Selecionar de la barra de herramientas de la izquierda haciendo click en la pestaña Objects Library y lo agregas en la parte del reporte q tu quieras.

Si esto no contesto tu pregunta, posteala de nuevo teniendo en cuenta lo que te dije anteriormente. ;-)

Saludos desde Venezuela.. :adios:

Kangulo 18/05/2005 15:40

Para Kirxon
 
Hola Kirxon, estuve leyendo el problema que tienes y como dijistes me parece :pensando: un de los escenarios más complicados, me pregunto si lo resolvistes.
Yo realmente no :no: tengo mucho para ayudarte en este caso, con respecto a el problema de la numeración de las paginas me pregunto si sabrás que por cada grupo en las propiedades del mismo tu puedes decirle que reinicie la numeracion de las paginas a partir de ahi.

Yo tambien estoy haciendo algo parecido incluir varios reportes personalizados en uno solo, es decir, hacer uno solo consolidando la informacion de los otros independientemente de la variedad de plantillas y, recién empiezo a trabajar en ello. :-( Veo que hay algo de simulitud entre las dos cosas, de todos modos cualquier cosa que averigue te la haré llegar

Saludos :adios:

KirsonX 18/05/2005 16:56

Para Kangulo, y cualquiera que pueda ayudarme
 
Gracias por postear, lo he resuelto parcialmente..
1) El formato de bandas de jasper no me parece muy flexible, me pregunto porque no pensaron en una estructura macro "Page" que incluya a las bandas. así con sólo añadir páginas podrías construir reportes mucho más flexibles y dinámicos.
2) No he visto nada en jasper/ireports que me permita concatenar las salidas de varias plantillas en 1 único PDF, mi solución pasa por procesar 1 por 1 mis reportes (que como dijen lo mismo que pueden usar una única plantilla pueden ser que por los datos seleccionados, cada dato requiera de una plantilla diferente) así que cuando todos estén procesados, voy a usar unas funciones de iText para concatenar los PDF's resultantes en un único documento PDF
3) Amigo si puedes con un ejemplo orientarme un poco en el tema del reinicio de la numeración de páginas y de hecho también con subreportes, aunque ya he logrado manejar subreportes no he mapeado ningun subreporte complejo. Otra duda que me asalta es la siguiente:
Mis documentos pueden tener la estructura
---datos encabezado
---párrafos de texto
--Area de subreporte
--más párrafos de texto

Entonces como hago para que sea plenamente dinámico es decir que si el área reservada para subreporte no es suficiente, el texto y campos que están después se muevan hacia abajo y no se sobrepongan unos con otros.

Espero no ser muy cansón con el tema, y si alguien puede brindarme alguna orientación adicional les agradeceré mucho

Saludos
KirsonX

desireep 19/05/2005 03:10

Hola a todos y en especial a la persona que me contestó.
A ver, trataré de ser un poco mas clara.
Mi problema es que yo no estoy trabajando con iReport sino con ReportAsistant o algo asi, asi que la barra qde herramientas que te ofrece es algo mas escueta, y no permite definir parametros.
Ya consigo pasar los parametrso pero los tengo que poner digamos "a mano" en la vista de texto.Asi que eso ya está arreglado.Ahora tengo otra duda.
Tengo que poner una cabecera superior en el informe con el nº pagina y una imagen, pero eso tiene que aparecer en todas las páginas.
Eso lo puedo crear con una "band head page" pero cada vez que creo esa banda, se crea despues de otra banda que tengo "band title" y yo quiero que se cree antes del titulo.
No se si me he explicado correctamente, aun asi si alguien puede/sabe contestarme, lo agradeceré.
Muchas gracias a todos de antemano.
Sevilla

stavera 19/05/2005 08:01

iReport
 
Hola Desireep,

Haber si te entendi lo que quieres es que aparezca el encabezado en todas las paginas con el numero de pagina y la imagen, si es así entonces lo colocas en pages header, sin ningun proble para el encabezado y la numeración, pero para la imagen sucede que solo te la deja exportar si el reporte es en PDF, HTML o el visor si es en excel no te lo permite, ensaya y si alguna duda te puedeo ayudar con mucho gusto.

:adios:

isc_angel 19/05/2005 09:14

Saludos, ya he leeido completamene este foro y me parece excelente, solo que tengo un problema muy particular con jasper reports, resulta que al momento de verlo en el explorer ( o en el opera) manda un mensaje como el siguiente:

Excepcion causada por: net.sf.jasperreports.engine.JRException: Error at (17, 136: null

El codigo JSP es el siguiente:

<%@ page import=" net.sf.jasperreports.view.JasperViewer"%>
<%@ page import=" net.sf.jasperreports.engine.xml.JRXmlLoader"%>
<%@ page import=" net.sf.jasperreports.engine.JRException"%>
<%@ page import=" net.sf.jasperreports.engine.design.JasperDesign"%>
<%@ page import=" net.sf.jasperreports.engine.JasperCompileManager"% >
<%@ page import=" net.sf.jasperreports.engine.JasperFillManager"%>
<%@ page import=" net.sf.jasperreports.engine.JasperExportManager"%>
<%@ page import=" net.sf.jasperreports.engine.JasperPrint"%>
<%@ page import=" net.sf.jasperreports.engine.JasperReport"%>
<%@ page import=" net.sf.jasperreports.engine.JasperRunManager"%>
<%@ page import= "net.sf.jasperreports.view.JasperDesignViewer" %>

<%@ page import="java.util.HashMap"%>
<%@ page import="java.util.Map"%>
<% String destFileName = null; %>
<%@page language="java" import="java.util.*, java.sql.*, java.io.*"%>

<jsp:useBean scope="page" id="conn" class="database.Databasev" />

<%
try
{
File reportFile = new File(application.getRealPath("C:\\reportes\\siima1 .jasper"));


//Se crea un mapa de parametros para pasar el reporte

Map parameters = new HashMap();
parameters.put("Title", "Propiedades de la Maquina de Inferencia");

//Se efectua la conexion a la base de datos
conn.conectame();
out.println("Conectado a la base de datos");


out.println("Tratando de leer archivo ");

JasperDesign jasperDesign = JRXmlLoader.load("C:\\reportes\\siima1.jrxml");
JasperReport jasperReport = JasperCompileManager.compileReport(jasperDesign);

JasperPrint jasperPrint =JasperFillManager.fillReport(reportFile.getPath() , new

HashMap(), conn.getConnection());

out.println("Si se ve este mensaje se compilo correctamente el REPORTE");


byte[] bytes = JasperRunManager.runReportToPdf(reportFile.getPath (), parameters,conn.getConnection());
response.setContentType("application/pdf");
response.setContentLength(bytes.length);
ServletOutputStream ouputStream = response.getOutputStream();
ouputStream.write(bytes, 0, bytes.length);
ouputStream.flush();
ouputStream.close();


conn.desconectate();


} catch (JRException e) {
// TODO Auto-generated catch block
e.printStackTrace();
out.println("Excepcion causada por: " + e);


} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
out.println("Excepcion causada por SQLException: " + e);
}

%>


CASI estoy seguro que el problema se debe al JRXML, ya que fue generado con Eclipse ( JasperAssistant) y no por Ireport's, YA QUE este ultimo el IREPORTS no lo puedo correr en mi maquina, agradecere toda la ayuda que me puedan dar.

ajf 19/05/2005 09:45

Hola gente
Solucione mi problema, pero ahora me surgio otro
Mi action genera correctamente el jrxml y lo puedo ver con el JasperViewer cuando lo corro desde la maquina servidor tomcat
Ahora, cuando lo accedo desde una maquina cliente, se ejecuta bien el armado del reporte, pero JasperViewer se muestra en la maquina servidor !!!
Alguno puede informarme si falat alguna configuracion ?

Desde ya muchas gracias

AJF

desireep 19/05/2005 09:47

Hola stavera:
Gracias por contestarme.
Ya conozco la existencia de header page, pero mi problema es que en la primera pagina de mi informe, el contenido del header pagen debe ir antes del titulo, es decir la "band heardes page" debe ir antes de la "band title" y eso no lo permiten los repor.
He pensado en poner una condicion en la expexión, eso es posible??? es decir, es posible poner que si estoy en la primera pagina haga una cosa y si estoy en otra cualquiera haga otra cosa???Creo que me estoy volviendo loca....nosé.
Bueno muchas gracias de antemano. :'( :'( :'( :'(

stavera 19/05/2005 10:09

iReport
 
Hola Desireep

Mira hasta el momento no me ha tocado algo parecido, pero creo que no es posibe ya que las esas band ya vienen prederminadas, pero si encuentro algo que te pueda servir te lo hago saber.

Si quieres y para enterder mejor lo que quieres hacer enviame un formato del reporte que quieres saber para ver si es mas fácil ayudarte.

:adios:

stavera 19/05/2005 10:13

iReport
 
Se me olvido preguntarte algo, ya has generado JSP para mostra tus reportes? :pensando:

desireep 19/05/2005 11:04

hola de nuevo a todos.
Segun lo que he leido, existe la propiedad print when expression que como su nombre indica puedes ponerle una expresion para que pinte un determinado elemnto dependiendo de una expresion evaluable.
Pues bien he pensado en relacion a mi preblema que quizas pueda poner en la expresion que solo se pinte cuando la pagina(la cojeria de las valriables del report)se distinta a 1, es decir algo asi:$V{PAGE_NUMBER}!=1 tambien he probado poniendo >1 y poniendo el 1 como un String "1", pero es inutil, no funciona, algu¡en me puede decir como hacerlo???
Creo que la idea de utilizar esa propiedad es buena pero no consigo hacerala andar.
Muchas gracias y si alguien puede contestarme por favor que lo haga.
Gracias de antemanos

ovejota 19/05/2005 14:00

hola: estoy iniciandome con ireport y jasperreport, se que la mayoría de ustedes ya están bastante abanzados en el tema, pero espero que me den una mano.
ya instale el apache-ant y el ireport-0.4.1, pero creo un reporte vacío, y al compilarlo me salta el siguiente error:

Compiling to file... .\borrar.jasper -> .\untitled_report_1.java Error compiling the report java source! java.lang.NoClassDefFoundError:*org/apache/commons/digester/Digester ****at*net.sf.jasperreports.engine.JasperCompileMa nager.compileReportToFile(JasperCompileManager.jav a:151) ****at*it.businesslogic.ireport.IReportCompiler.ru n(IReportCompiler.java:398) ****at*java.lang.Thread.run(Unknown*Source)

le agradecería mucho a quien me pueda dar una mano, porque ya estoy de los pelos.
hasta luego

isc_angel 20/05/2005 08:49

Posible solucion
 
Te falta el .jar llamado commons-digester ( agregarlo a web-inf/lib dentro de tomcat, esto para una sola aplicacion, si lo quieres que todas las aplicaciones lo puedan ver, entonces te recomineod que lo instales dentro de common/lib), se supone que hasta ahi debe de compilartelo sin errores, ahora viene que explorer lo pueda ver, hasta ahi es donde voy yo. Suerte y espero que te sirva.http://www.forosdelweb.com/newreply....e=1&p=1102772#

laraos 20/05/2005 08:56

Error tipico
 
Efectivamente es como dice isc_angel debes colocarlos en el web-inf/lib de tu sitio. Estos .jar los puedes sacar de IReport lib.

ovejota 20/05/2005 13:10

Gracias por las respuestas, pero resulta que olvide mencionar que utilizo j2sdk1.4.2_04, y eclipse como IDE , para desarrolla una aplicacion de escritorio.

muchas gracias igualmente

wifer 20/05/2005 13:44

Generar reporte por el browser
 
Estimados compañeros del foro.
primero que todo les doy las gracias por todos los aportes que han hecho al foro.
segundo, quiero preguntarles como desde un jsp, a la vez de generar el reporte me abra el archivo en formato html, SIN AMARRARLE al cliente la ruta del explorer. que lo genere y lo visualice por el explorer automáticamente, ojala si tienen tambien el ejemplo con excel, sisas. Mil gracias

WIFER

danpernav 20/05/2005 14:13

Por favor ayudenme!!!
 
Hola a todos, recien me estoy iniciando en esto, tengo el mismo problema que el amigo OVEJOTA................
Compiling to file... .\borrar.jasper -> .\untitled_report_1.java Error compiling the report java source! java.lang.NoClassDefFoundError:*org/apache/commons/digester/Digester ****at*net.sf.jasperreports.engine.JasperCompileMa nager.compileReportToFile(JasperCompileManager.jav a:151) ****at*it.businesslogic.ireport.IReportCompiler.ru n(IReportCompiler.java:398) ****at*java.lang.Thread.run(Unknown*Source)


ya segui los pasos que dieron isc_angel y Laraos, pero me sigue saliendo lo mismo, utlizo el jakarta tomcat 5.0.28, lo estoy corriendo desde ......
D:\Archivos de programa\netbeans-4.0\nb4.0\jakarta-tomcat-5.0.28
y los .jar los puse en D:\Archivos de programa\netbeans-4.0\nb4.0\jakarta-tomcat-5.0.28\common\lib, utlizo el jdk1.5.0, win2000, la verdad no se que hacer, no se en que estoy fallando, espero que me puedan ayudar, sigo con la agonia de no poder generar hasta ahora un .jasper!!!...gracias por las respuestas de antemano.

laraos 20/05/2005 18:52

busca el jar que tiene el paquete org y colocalos en el WEB-INF\lib (o ensaya en el class aunque en lib deberia funcionar, pero recuerda lib de tu sitio) de tu sitio o ensaya colocando ese paquete al mismo nivel de donde tienes tus jsp. Esos errores siempre ocurren cuando no encuentra el paquete. En la ruta que diste :\Archivos de programa\netbeans-4.0\nb4.0\jakarta-tomcat-5.0.28\common\lib no veo el WEB-INF por ningun lado.

laraos 20/05/2005 18:54

como hago para cambiar el resultado de un campo que me da null (en el visualizador de ireport) no se vea null sino aparecezca en blanco?
Gracias Kirson!! :si:

KirsonX 21/05/2005 12:47

Campo null
 
Para que el reporte no presente null si no blanco debes ir a las propiedades del elemento textField, a la viñeta "Text Field" y checar donde dice "Blank when null"
Saludos
KirsonX

stavera 24/05/2005 07:52

Generar reportes en Excel y Html
 
:'( :'( :'(
Hola a todos, necesito una gran ayuda, anteriormente ya habia generado mis preguntas pero no logro ninguna solución, tengo un pequeño problema y es que estoy generando mis reportes en excel y html, pero cuando los corro no me los deja visualizar. :pensando:

Pasa lo siguiente ejecuto el jsp y me abre la sesion de excel pero no me lo muestra, esto pasa con un codigo y genere otro jsp pero el archivo me lo guarda en la ruta pero no me lo deja ver al igual que el otro y con el de html quisiera generarlo pero no colocando la ruta del internet explorer sino que me lo habra directamente en el browser. Estuve verificando todo el foro nuevamente y no encuentro la solución, estoy trabajndo con el codigo que da Destruktor pero no ha sido posible.

Si alguien tiene algun ejemplo de como lo puedo realizar se lo agredeceria muchisimo. :-( :-( :-( :-(
:adios:

DestruKtor 24/05/2005 08:06

Archivos EXCEL
 
Para todos lo que siguen preguntando por privado como exportar a Excel desde un JSP, la cosa es asi:

Código:

//Cargamos la definicion del reporte *.jasper
java.io.File reportFile = new java.io.File(JasperFilesSource + filejasper );
   
//cargamos parametros del reporte (si tiene).
Map parametros = new HashMap();
                       
//Generar XLS.
//Preparacion del reporte (en esta etapa se inserta el valor del query en el reporte).

JasperPrint jasperPrint=JasperFillManager.fillReport(reportFile.getPath(), parametros, conexion);
               
//Nombre archivo resultado.
//Sugerencia: traten de generar un nombre dinamico concatenando fecha y hora para evitar se pisen los reportes al tener el mismo nombre.
 String xlsFileName = "archivo.xls";
             
               
//Creacion del XLS
JRXlsExporter exporter = new JRXlsExporter();
exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);
                exporter.setParameter(JRExporterParameter.OUTPUT_FILE_NAME,xlsFilesSource + xlsFileName);
                exporter.setParameter(JRXlsExporterParameter.IS_ONE_PAGE_PER_SHEET, Boolean.TRUE);
exporter.exportReport();

//En este punto ya esta Creado el XLS
                               
                               
//Ahora lo Voy a Leer Y A forzar al Navegador Muestre Dialogo Para descargar el archivo
//Funciona En IE y Firefox
         
                               
//Leer el archivo.
File f = new File (xlsFilesSource + xlsFileName);
                               
//Configurar el tipo de archivo.
response.setContentType ("application/vnd.ms-excel");
                               
//Obtener el Nombre del archivo.
String name = f.getName().substring(f.getName().lastIndexOf("/") + 1,f.getName().length());
                               
//Configurar cabecera y nombre de archivo a desplegar en DialogBox.
                                response.setHeader ("Content-Disposition", "attachment;filename=\"" + xlsFileName + "\"");
                               
                               
InputStream in = new FileInputStream(f);
ServletOutputStream outs = response.getOutputStream();
               
int bit = 256;
int i = 0;
                               
while ((bit) >= 0) {
                bit = in.read();
                outs.write(bit);
}
                                       
outs.flush();
outs.close();
in.close();

Noten que tras generar el archivo lo leeo y envio al browser para su descarga al pd del cliente desplegando el dialogo de descarga. para quien preguntaba si era necesario configurar algo en el reporte para generarlo en exel, pues no, uno al crear el reporte el reporte se genera en el formato que uno desee, dependiendo el metodo de exportacion que utilize. nada más. lo que tienen que tener en cuenta es que cuando exporten a exell solo se exporta el texto, NO las imagenes, asi que diseñen el reporte teniendo en cuenta estos detalles

Saludos a tododos!!

DestruKtor 24/05/2005 08:10

Cita:

Iniciado por stavera
:'( :'( :'(
Hola a todos, necesito una gran ayuda, anteriormente ya habia generado mis preguntas pero no logro ninguna solución, tengo un pequeño problema y es que estoy generando mis reportes en excel y html, pero cuando los corro no me los deja visualizar. :pensando:

Pasa lo siguiente ejecuto el jsp y me abre la sesion de excel pero no me lo muestra, esto pasa con un codigo y genere otro jsp pero el archivo me lo guarda en la ruta pero no me lo deja ver al igual que el otro y con el de html quisiera generarlo pero no colocando la ruta del internet explorer sino que me lo habra directamente en el browser. Estuve verificando todo el foro nuevamente y no encuentro la solución, estoy trabajndo con el codigo que da Destruktor pero no ha sido posible.

Si alguien tiene algun ejemplo de como lo puedo realizar se lo agredeceria muchisimo. :-( :-( :-( :-(
:adios:


Stavera, Cuando exportas a Excel o HTML se genera un archivo fisico en disco, por ello tras crearlo debes hacer algo para visualizarlos, como ves en el codigo que postee, el el caso del exel, yo lanzo el cuadro de descarga, donde te da la opcion de abrir el archivo o descargarlo.

en el caso del html, tambien es muy simple la solucion, simplemente tomas la ruta del html en el servidor y se la cargas al navegante, en la pagina o en un iframe, muy simple

lmflores 25/05/2005 17:26

Respuesta a dos ventanas en IExplorer
 
Cita:

Iniciado por DestruKtor
Hola Estimados.

Relacionado, con lo ultimo que converse con laraos, el problema que existe entre I.Explorer + Acrobat <= 6 y Jasperreport.

jasperreport esta haciendo su trabajo, pero por algun motivo internet explorer no es capaz de llamar a acrobat para que muestre el reporte, yo hice pruebas con acrobat 6, lo raro es que por ejemplo en mozilla firefox con acrobat 6 si funciona todo a la prefeccion, una solucion como le comente a laraos es instalarse el acrobat 7, pero existe mucha gente aún con verciones de acrobat 5 y 6.

tambien con acrobat 7 no se si les sucede, ejecuta el reporte pero en una ventana fuera del navegador, cuando deberia ejecutarlo inscrustado acrobat dentro del browser, cosas raras no?

alguna idea de por que sucede este efecto?? si alguien encuentra algo relacionado con este tema por favor dehen el link en el foro muchachos.

Suerte a todos!!


Buenas.. yo también esto empezando en esto de jsp, java, etc.. y pues estoy aventandome una aplicación para generar reportes vía web...
este sitio me ha sido de gran utilidad y me gustaría devolver el favor....
En la cuestión de que el explorfer arroja el PDF en dos ventanas se debe a que el archivo jsp que va a imprimir el repotre no debe contener encabezado html ni ningpun tipo de content-type, por que al ahora de mandar el pdf se le indica que el tipo de aplicación es pdf y ésto supongo confunde al explorer.
La solución es simplemente el archivo que imprima el pdf dejarlo sin tags de HTML al inico y al final, es decir, sin <title><body>, etc... y con éso está jalando bien en mi aplicación.. Espero les sirva...
Por ahpi leí que tienen un buen manual de como usar jFreeChart.. Se los agradecería mucho si me los pudieran enviar...

Gracias de antemano...

Luis

isc_angel 27/05/2005 09:17

SALUDOS gracias a este y otro foro por fn fui capaz de correr reportes con jasper reports en pdf, ahora voy a tratar de generar reportes en excel, espero pronto decirles como se hace bien

llakare 30/05/2005 06:14

Hola a todos!!!
Estoy tratando de mostrar un reporte desde una JSP en un pdf, usando jasperreports, internet explorer y acrobat 6.0.

EL reporte lo puedo compilar bien (genera el .jasper), también realizó bien la conexión a la base de datos, pero la siguiente línea de código lanza una exception:

byte[] bytes = JasperRunManager.runReportToPdf(rptFile.getPath(), parameters,conn);

La exception es:

org.apache.jasper.JasperException: com/lowagie/text/DocumentException

El reporte es muy simple, solo imprime un "hola", no tiene parámetros y mucho menos imágenes...
Necesito usarlo desde una aplicación con struts, si alguién tiene algún ej. que haya usado con struts ó alguna página para visitar, puede pasarla, por favor.

Recién estoy comenzando con esto...si alguien puede ayudarme , estaré muy agradecida.

Saludos

patasgreen20 30/05/2005 08:45

llakare Lee el principio de este foro, ahi te comentan el nombre de unos archivos *.jar, que debes de tener en :
C:\jakarta\webapps\ROOT\WEB-INF\lib
y en
C:\iReport\lib
:arriba:

patasgreen20 30/05/2005 08:50

java.lang.OutOfMemoryError
 
Hola a todos, y gracias por la ayuda que me brindaron :arriba: para desarrollar reportes, y claro que tambien revise mi codigo que contenia algunos errores, basicos, pero no todo puede ser buenas noticias, al momento de que realizo mi reporte, me marca la siguiente exception java.lang.OutOfMemoryError.
Me imagino que es por el numero de registros que encuentra.
Realiza un reporte en XLS Excel, me lo muestra cuando son menos de 1000 registros, pero cuando son 3000 reg. me marca el error que les comento.
Alguien sabe como manejar esta exception! GRACIAS POR TODO! :arriba:

lmflores 30/05/2005 10:28

com/lowagie/text/DocumentException
 
Cita:

Iniciado por llakare
Hola a todos!!!
Estoy tratando de mostrar un reporte desde una JSP en un pdf, usando jasperreports, internet explorer y acrobat 6.0.

EL reporte lo puedo compilar bien (genera el .jasper), también realizó bien la conexión a la base de datos, pero la siguiente línea de código lanza una exception:

byte[] bytes = JasperRunManager.runReportToPdf(rptFile.getPath(), parameters,conn);

La exception es:

org.apache.jasper.JasperException: com/lowagie/text/DocumentException

El reporte es muy simple, solo imprime un "hola", no tiene parámetros y mucho menos imágenes...
Necesito usarlo desde una aplicación con struts, si alguién tiene algún ej. que haya usado con struts ó alguna página para visitar, puede pasarla, por favor.

Recién estoy comenzando con esto...si alguien puede ayudarme , estaré muy agradecida.

Saludos


Lo que necesitas es el archivo itext-1.01.jar (es la versión que yo uso). Copialo del directorio lib del iReport dentro del WEB-INF/lib del directorio de tu aplicación jsp....

llakare 30/05/2005 10:50

Me faltó decir que estoy usando jasperreports-0.6.7, tengo incluido en el directorio lib el archivo itext-1.02b...será la versión de este jar????

Muchas gracias por contestar...

SAludos

DestruKtor 30/05/2005 11:49

Cita:

Iniciado por patasgreen20
Hola a todos, y gracias por la ayuda que me brindaron :arriba: para desarrollar reportes, y claro que tambien revise mi codigo que contenia algunos errores, basicos, pero no todo puede ser buenas noticias, al momento de que realizo mi reporte, me marca la siguiente exception java.lang.OutOfMemoryError.
Me imagino que es por el numero de registros que encuentra.
Realiza un reporte en XLS Excel, me lo muestra cuando son menos de 1000 registros, pero cuando son 3000 reg. me marca el error que les comento.
Alguien sabe como manejar esta exception! GRACIAS POR TODO! :arriba:

Pues lo ideal seria traer menos registros, pero si no tienes mas remedio deberias ver la configuracion de jakarta, a ver si le puesdes dar mas memoria de trabajo al servidor.

acano 31/05/2005 02:03

Una pequeña duda
 
Hola a todos, queria saber si a alguien le ha ocurrido alguna vez esto.
Es a nivel ya de diseño desde el IReport, en un static text pongo Año y en el pdf q me genera sale A?o, al parecer no coje la ñ. No se si es de IReport o de Acrobat 7, alguien tiene idea pq puede ser? Gracias

stavera 31/05/2005 10:49

Para llakare
 
Hola no es la version de jar es que debes instalar acrobat 7 ya que por estrañas razones no funciona si no con este a la hora de ejecutarlo, pero fijate si tienes todas las variables entorno en el ClassPath donde deben ir los .jar de la BD que estas utilizando, mas o menos asi: CLASSPATH: C:\iReport\lib\itext-1.02b.jar (este archivo es para el uso de archivos pdf)
verifica y si tienes alguna dudas con mucho gusto.

:adios:

stavera 31/05/2005 10:55

Para Acano
 
Hola Acano mira estuve realizando varios ensayos y todos mis reportes generados en iReport en pdf se sale bien, me toma la ñ normalmente, verifca si tu version de acrobat es 7.

:adios:

marcelo_v 31/05/2005 17:47

Hola amigos, tengo un peque;o pero gran problema, es que cuando ejecuto el .jar no me muestra los reportes, pero si compilo todo, los muestra, estoy utilizando netbeans y ya copie todas las clases y todo a mi jsdk.

Cliente c = new Cliente();
URL urlc = c.getClass().getResource("//Proyecto//Reportes//R_Clientes.jasper");
JasperReport masterReport = (JasperReport)JRLoader.loadObject(urlc);

apunto nuevamente q si funciona si lo hago correr el programa desde netBeans, pero al ejecutar el .jar, no muestra el reporte, y el error es en la ultima linea de codigo q adicione anteriormente

Espero q me puedan ayudar

Saludos

Alejo.Cuba 01/06/2005 16:20

Sobre la estructura del documento XML de Jasper Reports
 
Hola a todos, he estado trabajando con Jasper Reports y me gustaria aprender la estructura del documento XML del diseño, mas detallado que como se explica en la pagina de jasper Reports. Alguien me pudiera ayudar, o conoce alguna pagina web que la describa?

Gracias

Racamtru 01/06/2005 23:29

Saludos a todos.
Necesito diseñar un reporte donde la pagina a ver o imprimir se desplige de forma horizontal.
Gracias por la ayuda que me puedan brindar.

acano 02/06/2005 01:50

Para STAVERA
 
Muchas gracias Stavera, al final fue un lapsus mental, jjaajajaja.
Era por el tipo de letra del documento PDF. :-D
Un Saludo a todos
Bueno otra cosita de diseño q aun no e conseguido desvelar es pintar en el diseño una linea vertical q coja varios BAND (por ej: ColumnHeaders, detaills).
Sabrian acerlo?? :pensando:
Gracias

llakare 02/06/2005 05:39

ireport + struts
 
Hola!!!
Primero, muchas gracias a todos los que respondieron (lmflores, patasgreen20 y stavera), ya solucioné mi problema. :aplauso:

Ahora tengo otra duda, estoy trabajando con struts y hibernate para el mapeo a una base relacional. En los códigos de ej. que vi, para usar el método
JasperRunManager.runReportToPdf(...), tengo que pasarle la conexión a la Bd, utilizando el DriverManager y demás...el tema es que en struts eso es transparente porque está todo configurado desde archivos xml, me gustaria saber si se puede hacer de otra forma, tal vez hay otro método para utilizar.
Alguien sabe donde puedo encontrar información sobre la documentación de las clases Jasper como JasperRunManager, por ej. ???
Mi otra consulta es:
Cómo puedo llenar los datos del reporte con los resultados que me dá una clase java??? (supongamos que invoco a un método q me retorna una lista de objetos ), es decir desde la JSP invoco al método y de ahi lleno el reporte.
Lei desde el comienzo del foro, no sé si mi duda se resuelve usando datasource, si alguien tiene un ejemplo, se lo agradeceré.
Desde ya muchas gracias, el foro está muy bueno, y es genial que la gente que sabe dedique parte de su tiempo a contestar y compartir sus conocimientos. Lamentablemente yo no sé lo suficiente como para poder contestar, por ahora :=(
Saludos

llakare


La zona horaria es GMT -6. Ahora son las 03:54.

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2025, Jelsoft Enterprises Ltd.