| ||||
Respuesta: excel en jsp Hola: La solución fácil es genrar el fichero excel en un sitio accesible desde el navegador y colocar un enlace en tu página a ese fichero. Al hacer click el navegador te ofrecerá descargarlo. Esta opción vale si el excel está generado antes de mostrarle al usuario la página con el link de descarga. Si el excel se debe generar al vuelo, la otra opción, un pelín más compleja, crea un jsp o servlet cuyo único cometido sea crear el excel y devolverlo, ese jsp o servlet no debe enviar absolutamente nada más al navegador. En ese jsp o servlet, fija el content-type del header a application/vnd.ms-excel y si quieres el nombre de fichero puedes ponerlo tambíén el el header
Código jsp:
Ver original Y ahora sólo tienes que abrir el fichero excel como si fuera un fichero binario cualquiera, leerlo con read() como si fueran bytes e ir enviándolo por el response
Código jsp:
Ver original En un servlet es más fácil, en un jsp tienes el problema de que no puedes escribir nada hacia el navegador y eso incluye retornos de carro entre tags jsp. Aquí tienes un ejemplo con un pdf y se menciona el problema este de los retornos de carro http://stackoverflow.com/questions/1...-this-response Se bueno. |
| |||
Respuesta: excel en jsp Wenas, pues yo una vez tuve que hacer algo parecido en Struts 1.x, en mi jsp ponia codigo javascript Código PHP: Código PHP: Código PHP: Código PHP: Última edición por abulon81; 22/03/2013 a las 11:17 |
| |||
Respuesta: excel en jsp Cree un servlet que me genera un archivo en excel y se descarga de forma automatica ,el incoveniente viene cuando llamo al servlet desde jquery no se puede descargar y me direcciona a la funcion error de jquery ajax, espero alguien me pueda ayudar copio parte del servlet donde se genera el archivo utilizo la libreria apache poi excel2007 x = (excel2007) imp; Workbook libro = x.getLibro(); response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"); response.setHeader("Content-Disposition", "attachment;filename=" + repo.getNOMARC() + ".xlsx"); libro.write(response.getOutputStream()); response.getOutputStream().close(); adjunto mi codigo de jquery $(document).ready(function() { $("#generar").click(function(e) { e.preventDefault(); var btn = $(this); btn.button('loading'); var dataString = $('#myform').serialize(); alert(dataString); $.ajax({ type: "POST", url: "GenerarArchivo", data: dataString, error: problemas, success: function(data) { $("#resultado2").html("se genero"); } }).always(function() { btn.button('reset') }); ; }); }); function problemas() { alert("ERROR"); } |
Etiquetas: |