Jasper Reports Excel 输出

10

我需要使用Jasperreports在Excel格式中生成报告。我正在使用iReports 3.7.0。 报告可以顺利生成,但空单元格的大小有问题。

alt text

请问有人知道如何避免加粗突出显示的单元格变大。同时普通的单元格也比其内容稍微大了一点。

2个回答

14
此外,我建议在需要将Jasper导出为XLS时坚持基本原则。我是指不要包含图形等内容。
上述解决方案适用于从iReport生成XLS的情况。
如果您想通过程序生成XLS,请使用以下代码。
exporter = new JRXlsExporter();
exporter.setParameter(JRXlsExporterParameter.IS_COLLAPSE_ROW_SPAN, Boolean.TRUE);
exporter.setParameter(JRXlsExporterParameter.IS_REMOVE_EMPTY_SPACE_BETWEEN_COLUMNS, Boolean.TRUE);
exporter.setParameter(JRXlsExporterParameter.IS_REMOVE_EMPTY_SPACE_BETWEEN_ROWS, Boolean.TRUE);
exporter.setParameter(JRXlsExporterParameter.IS_ONE_PAGE_PER_SHEET, Boolean.FALSE);
exporter.setParameter(JRXlsExporterParameter.IS_DETECT_CELL_TYPE, Boolean.FALSE);
exporter.setParameter(JRXlsExporterParameter.IS_WHITE_PAGE_BACKGROUND, Boolean.FALSE);
exporter.setParameter(JRXlsExporterParameter.IS_IGNORE_GRAPHICS, Boolean.TRUE);

谢谢。我已经使用了最新的JExcelExporter包。 - Nayn

2
此外,如果您要部署到JasperServer,则可以在报告中设置自定义属性。(iReport不会自动执行此操作)
在主报告元素的属性中添加:
net.sf.jasperreports.export.xls.collapse.row.span
net.sf.jasperreports.export.xls.remove.empty.space.between.columns
net.sf.jasperreports.export.xls.remove.empty.space.between.rows

并将它们全部设置为true


同时使用 net.sf.jasperreports.print.keep.full.text 以避免截断溢出的值。 - KCD

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接