Sie müssen zur Laufzeit wissen, ob Sie nach Excel oder PDF exportieren, was Sie wissen sollten.
Nur als Beispiel:
public void generateReport(JasperPrint report, boolean isExcel, String saveTo){
JRExporter exporter = null;
if (isExcel) {
exporter = new JRXlsExporter();
exporter.setParameter(JRXlsExporterParameter.IS_REMOVE_EMPTY_SPACE_BETWEEN_ROWS, Boolean.TRUE);
exporter.setParameter(JRXlsExporterParameter.IS_WHITE_PAGE_BACKGROUND, Boolean.FALSE);
exporter.setParameter(JRXlsExporterParameter.IS_DETECT_CELL_TYPE, Boolean.TRUE);
//we set the one page per sheet parameter here
exporter.setParameter(JRXlsExporterParameter.IS_ONE_PAGE_PER_SHEET, Boolean.TRUE);
} else {
exporter = new JRPdfExporter();
}
exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);124
exporter.setParameter(JRExporterParameter.OUTPUT_FILE_NAME, saveTo);
export.exportReport();
}