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:
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.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();
Muchas gracias y un saludo