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

Descargar archivo excel de aplicacion web Java

Estas en el tema de Descargar archivo excel de aplicacion web Java en el foro de Java en Foros del Web. Estimados: Tengo el siguiente problema. Actualmente en mi aplicación web, estoy utilizando la libreria jexcel para crear un informe excel a través del siguiente código: ...
  #1 (permalink)  
Antiguo 26/10/2009, 07:50
 
Fecha de Ingreso: octubre-2009
Mensajes: 39
Antigüedad: 15 años, 1 mes
Puntos: 0
Descargar archivo excel de aplicacion web Java

Estimados:

Tengo el siguiente problema.
Actualmente en mi aplicación web, estoy utilizando la libreria jexcel para crear un informe excel a través del siguiente código:

Código:
	String rutaArchivo = "c:/productos.xls";
		try{
				
			File out = new File(rutaArchivo);
			
			WritableWorkbook workbook = Workbook.createWorkbook(out);
			WritableSheet sheet = workbook.createSheet("Resumen Global", 0);
			
			// columna, fila, dato
			// Encabezados
			sheet.addCell(new jxl.write.Label(0, 0, "Producto"));
			sheet.addCell(new jxl.write.Label(1, 0, "Descripcion"));
			sheet.addCell(new jxl.write.Label(2, 0, "Cantidad"));
			sheet.addCell(new jxl.write.Label(3, 0, "Marca"));
			sheet.addCell(new jxl.write.Label(4, 0, "Categoria"));

			// Obtencion de objetos en el listado
			int x=1;
			for(int i=0; i<rglobal.size(); i++){	
				String[] fila = rglobal.get(i);
				sheet.addCell(new jxl.write.Label(0, x, fila[0])); 
				sheet.addCell(new jxl.write.Label(1, x, fila[1])); 
				sheet.addCell(new jxl.write.Label(2, x, fila[2]));
				sheet.addCell(new jxl.write.Label(3, x, fila[3]));
				sheet.addCell(new jxl.write.Label(4, x, fila[4]));
				x++;
			}
			
			workbook.write();
	                workbook.close();
		}
La creacion del informe se realiza perfectamente, pero necesito guardarlo en una carpeta de mi aplicacion web. Actualmente uso eclipse y me gustaria dejar el archivo en la carpeta webcontent/docs pero al darle esa ruta el archivo no se crea.
Lo que necesito es guardarlo en la carpeta mencionada y retornar desde la clase java la ruta de donde se guardó el archivo para luego hacer click en una icono excel de una pagina jsp y poder descargar el archivo con las opciones(abrir - guardar - cancelar).

Desde ya muchas gracias.
  #2 (permalink)  
Antiguo 26/10/2009, 12:15
 
Fecha de Ingreso: octubre-2009
Mensajes: 39
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: Descargar archivo excel de aplicacion web Java

Hola a todos:

Por favor necesito de vuestra ayuda, estoy bastante complicado con este asunto.
aún no logro encontrar la solución para este problema
Desde ya muchisimas gracias.
  #3 (permalink)  
Antiguo 26/10/2009, 15:13
Avatar de DiabloGuardian  
Fecha de Ingreso: noviembre-2008
Ubicación: Hidalgo
Mensajes: 215
Antigüedad: 16 años
Puntos: 3
Respuesta: Descargar archivo excel de aplicacion web Java

es necesario guardar en el servidor para descargarlo?? por que no haces que se guarde solo del lado del cliente, por que por lo que veo solo realizas unos reportes o resumenes y creo que seria lo ideal, aqui te dejo un ejemplo:

esto al inicio de tu jsp

Código:
<%@page contentType="application/vnd.ms-excel"%><%@page contentType="application/vnd.ms-excel"%>
y despues de que generes tu excel (por ejemplo yo lo hago con un bean)

Código:
response.setHeader("Content-Disposition", "attachment; filename=\"vigentes.xls\""); 
				try{
					DataOutput dataOutput = new DataOutputStream(response.getOutputStream());
					byte[] bytes = excel.salvar();    //aqui mi bean en lugar de guardar, envia el archivo como un arreglo de bytes
					response.setContentLength(bytes.length);
					for(int i = 0; i < bytes.length; i++)
						dataOutput.writeByte(bytes[i]);
					response.getOutputStream().close();	
				}catch(Exception e){
				out.println("No se pudo crear el archivo debido al siguiente error:<br>"+e.toString());
				}

ojala te sirva esto... saludos
__________________
-=:[ Lo importante no es saber todo, sino saber buscar ]:=-
  #4 (permalink)  
Antiguo 18/03/2010, 09:31
 
Fecha de Ingreso: enero-2007
Mensajes: 1
Antigüedad: 17 años, 9 meses
Puntos: 0
Respuesta: Descargar archivo excel de aplicacion web Java

haber es muy sencillo, por ejemplo si usas netbeans agregas la liberira jxl.jar que es de jexcel, y luego le das agregar una jsp y para ejemplo el codigo que pones es
Código PHP:

<%@ page import="jxl.*"  %>
<%@ 
page import="jxl.write.*"  %>
<%@ 
page import="java.io.*"  %>
<%@ 
page import="java.util.*"  %>

<%@
page contentType="application/vnd.ms-excel" pageEncoding="iso-8859-1"%>
<% 
response.setHeader("Content-Disposition""attachment; filename=Reporte.xls"); %>
<%
    
      
WritableWorkbook w Workbook.createWorkbook(response.getOutputStream());
       
WritableSheet s w.createSheet("Datos de partidas"0);
       
s.addCell(new Label(00"Hello World"));
       
s.addCell(new Label(10"06796"));
//columna, renglon
       
s.addCell(new Label(3,5,"Esta es una prueba en otra celda"));
       
w.write();
       
w.close();

%> 
Y listo eso hara que el excel se genere directamente y se mande al cliente
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 14:04.