1

我正在开发一个 Java 应用程序来从 iReports 中创建的“.jasper”报告文件生成报告。当以 PDF 格式生成报告时,我想在每个单独的页面上保留列标签和分页信息。但是,当导出为 excel 电子表格或纯 HTML 时,我只需要列标题一次。谁能建议我可以在 Java 中以编程方式将设置传递给 Jasper API 来处理这个问题?

4

2 回答 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 回答