Ver Mensaje Individual
  #1 (permalink)  
Antiguo 07/02/2014, 06:51
marodal
 
Fecha de Ingreso: noviembre-2008
Ubicación: Sevilla
Mensajes: 157
Antigüedad: 16 años
Puntos: 2
Exportar informe a Excel JasperReport

Hola a todos,

Estoy trabajando realizando informes usando la librería JasperReport. Los informes los genero de forma satisfactoria en pdf, y ahora quiero exportarlos con formato Excel.

La exportación se realiza, pero tengo el problema de que se sobreescribe el archivo sobre el que exporto, y esto no es lo que quiero, puesto que puede que quiera crearme diferentes informes en excel y tenerlos todos en el equipo. Por lo tanto, lo que estoy buscando es que no se sobreescriba el archivo, lo mismo que si descargaramos algo desde Internet en nuestra carpeta Downloads.

Este es el código que uso:

Código:

		String name_r = "C:/Reports/"+nombre_report+".xls"; //En nombre_report es el nombre asignado al excel, segun el tipo de informe que sea
		File directorio = new File("C:/Reports");
		directorio.mkdir(); //Crea el directorio C:/Reports si no existe


                        JRXlsExporter exporterXLS = new JRXlsExporter();
			exporterXLS.setParameter(JExcelApiExporterParameter.IS_DETECT_CELL_TYPE, Boolean.TRUE);
			exporterXLS.setParameter(JExcelApiExporterParameter.IS_REMOVE_EMPTY_SPACE_BETWEEN_COLUMNS , Boolean.TRUE);
			exporterXLS.setParameter(JExcelApiExporterParameter.IS_REMOVE_EMPTY_SPACE_BETWEEN_ROWS , Boolean.TRUE);  
			exporterXLS.setParameter(JExcelApiExporterParameter.SHEET_NAMES, pestanas); 
			exporterXLS.setParameter(JExcelApiExporterParameter.IGNORE_PAGE_MARGINS , Boolean.TRUE);
			exporterXLS.setParameter(JExcelApiExporterParameter.MAXIMUM_ROWS_PER_SHEET,5000);  
			exporterXLS.setParameter(JExcelApiExporterParameter.IS_COLLAPSE_ROW_SPAN , Boolean.FALSE);
			exporterXLS.setParameter(JExcelApiExporterParameter.IS_FONT_SIZE_FIX_ENABLED , Boolean.TRUE);
			exporterXLS.setParameter(JExcelApiExporterParameter.JASPER_PRINT_LIST, informe); 
                        exporterXLS.setParameter(JExcelApiExporterParameter.OUTPUT_FILE, new File(name_r));
                        exporterXLS.setParameter(JExcelApiExporterParameter.CHARACTER_ENCODING, "UTF-8");
			exporterXLS.exportReport();
Lo ideal que estoy buscando es que se realice la descarga en la carpeta Downloads, pero no se como conseguirlo, puesto que su ruta depende del nombre del equipo, y que se muestre el proceso de descarga (igual que si descargaramos cq fichero de una aplicacion de internet), ya que en mi caso no se muestra nada.

Muchas gracias y un saludo