忽略分页时,Jasper插入页码

时间:2011-08-19 13:54:21

标签: java pagination jasper-reports

我想在使用Jasper 3.7.5生成的Excel报表(仅在打印时)中插入页码。 问题是我将isIgnorePagination设置为true,因此我无法在pageFooter模板中使用jrxml标记。 net.sf.jasperreports.export.xls.sheet.footer.right属性AFAIK无法解释表达式,因此我可以插入PAGE_NUMBER变量,如下所示:

<property name="net.sf.jasperreports.export.xls.sheet.footer.right" value="$V{PAGE_NUMBER}"/>

那么如何在这种情况下插入页码?我只需要在打印报告时显示页码!

2 个答案:

答案 0 :(得分:2)

您仍然可以使用Excel页面计数器:

<property name="net.sf.jasperreports.export.xls.sheet.footer.right" 
        value="Page &amp;P of &amp;N"/>

&P是当前页面的编号,&N总页数。

其他变量是:

  • &A:表格的名称
  • &D:当前日期
  • &T:当前时间
  • &F:文件名
  • &Z:完整文件名

答案 1 :(得分:1)

一种可能性是使用Apache POI API解析XLS并在将其发送回浏览器之前进行相应的修改。我不知道这是否可行。如果有可能那么它仍然是一种黑客而不是一个好的解决方案。