AGENDAFX Muchas veces es difícil al principio de un proyecto implementar o abstraer lo que se nos esta pidiendo, creo que a la mayoría en el curso de Estructuras de Datos al principio andamos un poco perdidos de como empezar. Los ejemplos visto en clase no son lo suficiente claros o muy sencillos, luego acudimos […]

Una nueva sección en el abismo de tux. Por alguna extraña razón programo demasiado en java, he programado en QT, python, c++, c, bash, . . . , pero lo que comercialmente es mi fuerte y he programado más tiempo es java, independientemente que me guste o no (por su mal rendimiento en algunas ocasiones) […]

Gracias al trabajo que tengo aprendí una manera de generar archivos xls con java, normalmente se utiliza el Jakarta POI pero en el Web lo podemos hacer de otra manera. Bueno para empezar, cuando creamos un archivo xls con puras tablas html lo que estamos haciendo es un archivo plano, a la hora de abrirlo o querer descargarlo en Firefox, el no lee la extensión pero sabe que se trata de archivo plano entonces lo muestra en el navegador (a veces).

Para evitarnos problemas y querer descargar el archivo y no visualizarlo (dependiendo de la configuración del navegador) creamos una página JSP y escribimos lo siguiente

<%@page contentType="application/vnd.ms-excel"%>
<%@page contentType="application/vnd.ms-excel"%>
<%response.setHeader("Content-Disposition", "attachment; filename=\"Archivo.xls\""); %>

Y luego de eso escribimos tablas HTML.

Esto también se puede hacer utilizando un pequeño servlet de la siguiente manera:

public class VisualizarExcel extends HttpServlet {
private static final String CONTENT_TYPE = "application/vnd.ms-excel; charset=windows-1252";

public void init(ServletConfig config) throws ServletException {
super.init(config);
}

public void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType(CONTENT_TYPE);
response.setHeader("Content-Disposition", "attachment; filename=\"Archivo.xls\"");
PrintWriter out = response.getWriter();
out.println("<html>");
out.println("<head><title>VisualizarExcel</title></head>");
out.println("<body>");
out.println("<table><tr><td>HOLA<td></tr></table>");
out.println("</body></html>");
out.close();
}
}

Fuenta de Informacion: http://diesil-java.blogspot.com/2007/04/generar-xls.html