Ignore Pagination
バッチ エクスポートする 4 つの個別のレポートがあると仮定すると、各レポートで設定する必要がありますtrue
(これは、jrxml ファイルの先頭にある jasperReport タグの属性であり、属性は のようになりますisIgnorePagination="true"
)。
実際にエクスポートするには、次のようになります。
List<JasperPrint> jasperPrintList = new ArrayList<JasperPrint>();
jasperPrintList.add(JasperFillManager.fillReport("report1.jasper", params1));
jasperPrintList.add(JasperFillManager.fillReport("report2.jasper", params2));
jasperPrintList.add(JasperFillManager.fillReport("report3.jasper", params3));
jasperPrintList.add(JasperFillManager.fillReport("report4.jasper", params4));
JRXlsExporter exporter = new JRXlsExporter();
exporter.setParameter(JRExporterParameter.JASPER_PRINT_LIST, jasperPrintList);
exporter.setParameter(JRExporterParameter.OUTPUT_FILE_NAME, "BatchExportReport.xls");
exporter.setParameter(JRXlsExporterParameter.IS_ONE_PAGE_PER_SHEET, Boolean.TRUE);
exporter.exportReport();
シート名を設定するには、JasperForge にある動的シート名の例を見てください。
あなたのコメントによると、同じレポート テンプレートを使用して複数の形式にエクスポートしたいと考えています。ページネーションを無視する必要があるのはExcelだけです。できることは、レポートにハードコーディングするのではなく、実行時にパラメーターを介して設定することです。したがって、params1、params2、params3、および params4 に以下を追加します。
if(exportFormat == EXCEL) {
params1.put(JRParameter.IS_IGNORE_PAGINATION, Boolean.TRUE);
params2.put(JRParameter.IS_IGNORE_PAGINATION, Boolean.TRUE);
params3.put(JRParameter.IS_IGNORE_PAGINATION, Boolean.TRUE);
params4.put(JRParameter.IS_IGNORE_PAGINATION, Boolean.TRUE);
}