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
| |||
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 |
| |||
![]() ![]() ![]() ![]() 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. ![]() 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. ![]() ![]() ![]() ![]() ![]() |
| ||||
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. ![]() 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. ![]() ![]() ![]() ![]() ![]() 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
__________________ Se Despide DestruKtor |
| |||
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 |
| |||
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 |
| |||
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 |
| |||
java.lang.OutOfMemoryError Hola a todos, y gracias por la ayuda que me brindaron ![]() 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! ![]() |
| |||
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.... |
| ||||
Cita: 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.
Iniciado por patasgreen20 Hola a todos, y gracias por la ayuda que me brindaron ![]() 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! ![]()
__________________ Se Despide DestruKtor |
| |||
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 |
| |||
![]() 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. ![]() |
| |||
![]() 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. ![]() |
| |||
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 |
| |||
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 |
| |||
Para STAVERA Muchas gracias Stavera, al final fue un lapsus mental, jjaajajaja. Era por el tipo de letra del documento PDF. ![]() 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?? ![]() Gracias |
| |||
![]() Hola!!! Primero, muchas gracias a todos los que respondieron (lmflores, patasgreen20 y stavera), ya solucioné mi problema. ![]() 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 |
| |||
Por favor Alguien sabe como hacer para evitar que se lance un reporte PDF, cuando este no cumple unos parametros de entrada. Es decir cuando la consulta o query no retorna registros? Gracias por la ayuda que puedan darme ![]() Última edición por laraos; 02/06/2005 a las 09:47 |
| |||
laraos: Lo que puedes hacer LARAOSLo que hago yo, que no se si te sirva, es lo sig. haz de cuenta que yo genero una busqueda, que muestro en pantalla, y luego si se desea generar el PDF o el archivo en XLS, coloco un boton que dice generar PDF o XLS, pero este boton esta deshabilitado cuando no encuentra registros, y habilitado cuando si, dentro del While de query coloco un contador, el cual me indica cuantos registros encontro, el la parte del boton de la jsp, le pongo una condicion de que cuando sea > a 0, me lo habilite y si es 0 me lo deshabilita, espero que esto te sirva de algo! ![]() |
| |||
![]() Hola Laraos, veo que tu trabajas con parametros, queria saber si me puedes explicar un poco como coloco los parametros en mi jsp, tengo un reporte que por medio de una pagina me ingresar ciertos datos, esos datos los tomo como parametros para que genere el reporte, pero no he podido saber como los coloco en mi jsp, si me puedes ayudar en eso te lo agradeceria muchisimo, ah y también te pregunto si saber si en el query se puede realizar una seleccion multiple, te explico tengo un reporte donde debo colocar cierta información pero de diferentes tablas. muchas gracias por la ayuda que me puedas brindar. ![]() |
| |||
![]() Muchas gracias patasgreen20, tengo una pregunta tu traes el recorset y ahi es donde te das cuenta de que no hay registros? stavera, en el inicio del foro hay mas sobre parametros, aunque mira yo los trabajo asi: //Tomo el parametro que viene de otra pagina, en este caso lo llame PERSONA_ID String IdPersona = request.getParameter("PERSONA_ID"); Map mapParametros = new HashMap(); //Carga de parametros //El primer campo se refiere al nombre tal cual lo llamaste en iReport o en la herramienta donde generas los jrxml; el segundo parametro es la variable IdPersona que cree inicialmente en la pagina (o que viene por teclado) mapParametros.put("PERSONA_ID", IdPersona ); //le puedes pasar tantos parametros como quieras teniendo en cuenta la estructura mapParametros.put("Nombre del parametro definido en Ireport", Variable que ingresa por teclado); Última edición por laraos; 08/06/2005 a las 09:49 |
| |||
LARAOS Pues se podria decir que si, tengo 2 jsp, una que me muestra la info en patalla que llamare "a" y otra que me muestra el PDF que llamare "b", en la primera JSP "a" tengo lo siguente java.sql.Statement stmt = null; java.sql.ResultSet rs = null; try { stmt = conna.createStatement(); } catch(Exception e) { System.out.println("Error stmt!"+ e); } j=0; rs = stmt.executeQuery(sqltodo); while (rs.next()) { String cad1= rs.getString(1); if (cad1 == null ) cad1 = " "; String cad2= rs.getString(2); if (cad2 == null ) cad2 = " "; //ESTE CONTADOR MUESTRA CUANTOS REGISTROS HAY j=j+1; Luego en la parte de abajo de la jsp "a", coloco 1 boton "GENERAR PDF" <form action="reportePDF.jsp" method="post" name="form3" " > <input NAME="sub" TYPE="hidden" VALUE="NO"> <div aling="center"> <input type="submit" name="Submit" value="Generar PDF" <%if(j==0) {%>disabled = true <%}%> > </div> </form> como podras ver el boton se deshabilita (es decir no puede ser precionado) si no encuentra registro alguno, si encuentra por lo menos 1 registro el boton es habilitado, y manda a otro jsp "b" que genera el pdf, aqui tienes varias opciones subir a session el QUERY desde el jsp "a" y recibirlo en la jsp "b", y meterlo al reporte! |
| |||
ayuda con el ireport y netbeans Hola necesito ayuda baje la fuente del ireport y cree un nuevo proyecto en netbeans con condigo fuente existente donde le doy la ruta de la fuente q baje cuando lo compilo me sale muchos errores como por ejemp no existe el paquete net.sf.jaspereports.engine.JRReport.*; les agradeceria cualquier ayuda |
| |||
Salida a formato html Hola Muchachos. Gracias por la participacion en el foro y por sus aportes de los cuales he aprendido mucho. He leido todo el foro y veo que hablan de lo facil que es generar reportes con formato html, es tanto que hasta obvian ilustrarlo por lo fácil, pero yo trato de hacerlo desde un jsp invocando un .jasper y me genera el archivo bien, pero la abrirlo no lo hace bien, me sale desconfigurado, ingreso a la ruta donde lo genero, lo abro y esta excelente; mi codigo es el siguiente: -------------------------------------------------------------- <%@ page import="net.sf.jasperreports.engine.export.*"%> <%@ page import="net.sf.jasperreports.engine.*"%> <%@ page import="net.sf.jasperreports.engine.fill.*" %> <%@ page import="java.util.*" %> <%@ page import="java.io.*" %> <%@ page import="javax.sql.*" %> <%@ page import="java.sql.*" %> <%@ page import="javax.naming.*" %> <%@ page import="net.sf.jasperreports.view.*"%> <%@ page contentType="application/html" language="java" %> <% Context initContext = new InitialContext(); Context envContext = (Context)initContext.lookup("java:/comp/env"); DataSource ds = (DataSource)envContext.lookup("jdbc/myoracle"); Connection conn = ds.getConnection(); String filejasper = "oferta.jasper"; String JasperFilesSource = "reportes/"; //Cargamos la definicion del reporte *.jasper File reportFile = new File(application.getRealPath("/reportes/oferta.jasper")); //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(reportFil e.getPath(), parametros, conn); //Nombre archivo resultado. String htmFilesSource = "/reportes/oferta.html"; //Creacion del html JRHtmlExporter exporter = new JRHtmlExporter(); exporter.setParameter(JRExporterParameter.JASPER_P RINT, jasperPrint); exporter.setParameter(JRExporterParameter.OUTPUT_F ILE_NAME,application.getRealPath(htmFilesSource)); exporter.exportReport(); //Leer el archivo. File f = new File (application.getRealPath(htmFilesSource)); //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=\" " + name + "\""); 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(); %> ------------------------------------------------------------------------- si tienen alguna sugerencia les agradezco, les cuento ya pude lograrlo (gracias al foro) generando excel y pdf, ahora deseo que genere html pues me parece que se debe generar mas rápido; estare en lo cierto? Mil gracias y que Dios los Bendiga. WIfer |
| |||
Tenes que generarte una clase la impleten la interface JRDataSource Cita:
Iniciado por llakare Hola!!! Primero, muchas gracias a todos los que respondieron (lmflores, patasgreen20 y stavera), ya solucioné mi problema. ![]() 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 Deberias hacerte una clase que implemente la interface JRDataSource... Ademas debes implementar los metodos next() y getField() a tu manera. (Usar Reflection o BeanUtils) A su vez al constructor de esta clase tenes que pasarle la Lista donde estan todos los valores que queres que aparezcan en el Reporte por Ejemplo: import java.util.Iterator; import java.util.List; import org.apache.commons.beanutils.BeanUtils; import net.sf.jasperreports.engine.JRDataSource; import net.sf.jasperreports.engine.JRException; import net.sf.jasperreports.engine.JRField; public class ReporteDS implements JRDataSource { private Iterator iterator; private Object currentValue; private List data; private int index=-1; public ReporteDS(List list) { this.iterator = list.iterator(); data = list; } public boolean next() throws JRException { index++; return (index < data.size()); } public Object getFieldValue(JRField field) throws JRException { Object r = data.get(index); try { String s = field.getName(); return BeanUtils.getProperty(r,s); } catch (Exception e) { throw new JRException(e.getMessage()); } } } y en la otra clase donde usas las Clases de Jasper: bytes = JasperRunManager.runReportToPdf(jasperReport, parameters, rds); donde ReporteDS rds = null; rds = new ReporteDS(list); // list es la lista de Objetos.. Espero haber sido claro.... |