Java - Exportar informe a Excel JasperReport

   
Vista:

Exportar informe a Excel JasperReport

Publicado por Jose (19 intervenciones) el 07/02/2014 13:54:41
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:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
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 existiese
 
 
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
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder