XML レポートを生成する必要があり、XML にデータベースからの値を入力する必要があります。
PDF、xls、および CSV のレポートを生成できる Jasper Reports の使用を開始しましたが、XML を生成できませんでした。
PDF、CSV、XLSを生成するためにコンパイルして以下のスニペットを使用したjrxmlファイルがありますが、XMLの生成が問題のようです:
if(contentType == 'text/csv'){
params.response.setHeader("Content-disposition", "attachment;filename=" + params.reportName + ".csv")
exporter = new net.sf.jasperreports.engine.export.JRCsvExporter();
exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);
if(params.feed){
exporter.setParameter(JRCsvExporterParameter.FIELD_DELIMITER, "|");
}
fileName = reportTempDir + "/" + fileName + ".csv"
}else if(contentType== 'application/pdf'){
params.response.setHeader("Content-disposition", "attachment;filename=" + params.reportName + ".pdf")
exporter = new net.sf.jasperreports.engine.export.JRPdfExporter();
exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);
fileName = reportTempDir + "/" + fileName + ".pdf"
}else{
params.response.setHeader("Content-disposition", "attachment;filename=" + params.reportName + ".xls")
exporter = new net.sf.jasperreports.engine.export.JExcelApiExporter();
exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);
exporter.setParameter(JRXlsExporterParameter.IS_DETECT_CELL_TYPE,true);
exporter.setParameter(JRXlsExporterParameter.IS_ONE_PAGE_PER_SHEET ,false);
exporter.setParameter(JRXlsExporterParameter.IS_REMOVE_EMPTY_SPACE_BETWEEN_ROWS ,true);
exporter.setParameter(JRXlsExporterParameter.IS_REMOVE_EMPTY_SPACE_BETWEEN_COLUMNS ,true);
exporter.setParameter(JRXlsExporterParameter.IS_WHITE_PAGE_BACKGROUND ,false);
exporter.setParameter(JRXlsExporterParameter.IS_IGNORE_GRAPHICS ,false);
exporter.setParameter(JRXlsExporterParameter.IS_COLLAPSE_ROW_SPAN ,false);
exporter.setParameter(JRXlsExporterParameter.IS_IGNORE_CELL_BORDER ,false);
exporter.setParameter(JRXlsExporterParameter.IS_FONT_SIZE_FIX_ENABLED ,true);
exporter.setParameter(JRXlsExporterParameter.SHEET_NAMES ,[sheetName]as String[]);
fileName = reportTempDir + "/" + fileName + ".xls"
}
FileOutputStream osGenre = new FileOutputStream(fileName);
exporter.setParameter(JRExporterParameter.OUTPUT_STREAM, osGenre);
exporter.exportReport();