Exportar tabla a EXCEL

Cesar
15 de Enero del 2009
Hola a todos, espero puedan ayudarme.
He creado una tabla con un Servlet (los datos provienen de una base) y requiero exportar esta tabla hacia una hoja de calculo como excel, tienen idea de como se hace?

malone
15 de Enero del 2009
Una vez que ya tienes tu consulta en un ResulSet

agreag lo sig.

response.setContentType("text/html");
java.io.PrintWriter out = response.getWriter();
// lo siguiente genera el nombre del archivo dinamicamente.

boolean InternetExplorer = false;
String accept = request.getHeader("ACCEPT");

if (accept != null) {
accept = accept.toLowerCase();
int p = accept.indexOf("application/vnd.ms-excel");
InternetExplorer = (p != -1);
}
response.setContentType("application/vnd.ms-excel");
if (!InternetExplorer){
int number = (int) ((241*System.currentTimeMillis()) % 9973);
String fileName = "0000" + number;
fileName = fileName.substring(fileName.length() - 4);
fileName = "exap" + fileName + ".dat";
String contentDisposition = "attachment" + ";fileName="" + fileName + """;
response.setHeader("Content-Disposition",contentDisposition);

// Despliega los datos de la consulta
// solo agrege entre los campos un tabulador
// si deseas gravar en txt cambia tabulador por ","
// y int p = accept.indexOf("application/vnd.ms-excel");

out.println();
out.print("NO" + "t");
for(int i = 1 ; i <= rsmd.getColumnCount() ; i++){
out.print(rsmd.getColumnName(i) + "t");
}
out.println();
while (resultado.next()){
noreg = noreg + 1;
out.print( noreg + "t");
for(int i = 1 ; i <= rsmd.getColumnCount() ; i++){
out.print(resultado.getString(rsmd.getColumnName(i)) + "t");
}
out.println();
}

Aguna duda echa un grito o te mando el ejemplo completo.


Erreulius
15 de Enero del 2009
Realmente es muy interesante saber como se realiza el proceso completo de esta función....Te pido que me envíes si puedes el ejemplo completo please..

frank
15 de Enero del 2009
me podrias enviar el codigo completo es que estoy tratando de exportar los datos de jsp a excel en un proyecto que estoy realizando, te agradesco de antemano.

javi
15 de Enero del 2009
Hola malone, he visto tu codigo y si pudieras enviarme el ejemplo completo me harias un gran favor, ya que es algo que llevo unos dias buscando, graciax.

aptoscano
15 de Enero del 2009
solo tienes que generar una tabla HTML (<table><tr><td>.....etc),
lo siguiente es colocar el formato que deseas para la pagina. En lugar de colocar
response.setContentType("text/html");
en la cebecera, colocamos
response.setContentType("application/vnd.ms-excel");
esa linea nos indica que el formato de la hoja es Excel.

Saludos!!!