Ver Mensaje Individual
  #208 (permalink)  
Antiguo 11/06/2005, 09:57
wifer
 
Fecha de Ingreso: abril-2005
Mensajes: 9
Antigüedad: 20 años
Puntos: 0
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