Foros del Web » Programación para mayores de 30 ;) » Java »

Abrir Excel

Estas en el tema de Abrir Excel en el foro de Java en Foros del Web. Saben necesito urgente abrir un archivo xls desde una jsp, tengo un servidor tomcat y dicho archivo esta por el lado del servidor, ya probe ...
  #1 (permalink)  
Antiguo 06/09/2005, 20:28
Avatar de mugalde  
Fecha de Ingreso: diciembre-2004
Ubicación: Santiago - Centro
Mensajes: 12
Antigüedad: 19 años, 4 meses
Puntos: 0
Pregunta Abrir Excel

Saben necesito urgente abrir un archivo xls desde una jsp, tengo un servidor tomcat y dicho archivo esta por el lado del servidor, ya probe con href, pero no funciona si saben avisenme, porfa...
  #2 (permalink)  
Antiguo 06/09/2005, 20:53
Avatar de goncafa  
Fecha de Ingreso: julio-2002
Ubicación: Santiago
Mensajes: 1.211
Antigüedad: 21 años, 10 meses
Puntos: 10
Creo que lo que necesitas es poner esta cabecesra en tu JSP

Código PHP:
<%@page contentType="application/vnd.ms-excel"%> 
Luego de eso debes leer tu archivo excel en un flujo de bytes y liberarlo al OutputStream del Servlet, este lo obtienes asi

Código PHP:
ServletOutputStream bufferSalida res.getOutputStream(); 
Saludos
__________________
se despide hasta la proxima
Gonzalo Castillo
  #3 (permalink)  
Antiguo 06/09/2005, 22:33
Avatar de goncafa  
Fecha de Ingreso: julio-2002
Ubicación: Santiago
Mensajes: 1.211
Antigüedad: 21 años, 10 meses
Puntos: 10
Aqui esta el codigo ya provado por si a alguien mas le sirve ;)

Código PHP:
<%@page import="java.io.*"%>
<%@
page contentType="application/vnd.ms-excel"%> 
<%
    
InputStream in null;
    
ServletOutputStream bufferSalida null;
    
    
String nombre "nombre.xls";
        
String path "RUTA_AL_XLS";

    
response.setHeader("Content-Disposition","attachment; filename=\""nombre "\"");

    try {
        
in = new FileInputStream(path);
        
bufferSalida response.getOutputStream();

        
//se transfieren los bytes
        
byte[] buf = new byte[1024];
        
int len;
            while ((
len in.read(buf)) > 0) {
                
bufferSalida.write(buf0len);
            }

        
//vaciamos el buffer de salida y se envia el resultado
        
in.close();
        
bufferSalida.flush();
        
bufferSalida.close();
    } catch(
Exception e) {
        
//no hagamos nada
    
}
%> 
Donde nombre es el nombre con que se generara la salida dela rchivo y path es la ruta al archivo excel que se quiere enviar a la salida

Saludos
__________________
se despide hasta la proxima
Gonzalo Castillo
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:39.