我正在开发一个 Java 应用程序来从 iReports 中创建的“.jasper”报告文件生成报告。当以 PDF 格式生成报告时,我想在每个单独的页面上保留列标签和分页信息。但是,当导出为 excel 电子表格或纯 HTML 时,我只需要列标题一次。谁能建议我可以在 Java 中以编程方式将设置传递给 Jasper API 来处理这个问题?
问问题
1358 次
2 回答
1
您需要在导出器中设置几个设置才能将其导出为一页:
reportExporter.setParameter(JRXlsExporterParameter.IS_REMOVE_EMPTY_SPACE_BETWEEN_ROWS, Boolean.TRUE);
reportExporter.setParameter(JRXlsExporterParameter.IS_ONE_PAGE_PER_SHEET, Boolean.FALSE);
现在,这只会让您获得一部分。因为它仍然会分别打印一次页眉和页脚。您需要在报告中添加一个布尔参数,指示是否打印这些波段。你可以printWhenExpression
在乐队中设置这个。
于 2013-01-31T14:57:13.110 回答
0
您可以有条件地添加JRParameter.IS_IGNORE_PAGINATION
如下以在导出到 excel 时抑制列标题的生成。适用于 Jasper 报告 5.5。
HashMap<String, Object> parameters = new HashMap<String, Object>();
parameters.put(JRParameter.IS_IGNORE_PAGINATION, Boolean.TRUE);
JasperPrint jasperPrint = JasperFillManager.fillReport(compiledReport, parameters,
(jrDataSource == null) ? new JREmptyDataSource() : jrDataSource);
于 2014-07-22T06:33:25.890 回答