我想在使用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}"/>
那么如何在这种情况下插入页码?我只需要在打印报告时显示页码!
答案 0 :(得分:2)
您仍然可以使用Excel页面计数器:
<property name="net.sf.jasperreports.export.xls.sheet.footer.right"
value="Page &P of &N"/>
&P
是当前页面的编号,&N
总页数。
其他变量是:
&A
:表格的名称&D
:当前日期&T
:当前时间&F
:文件名&Z
:完整文件名答案 1 :(得分:1)
一种可能性是使用Apache POI API解析XLS并在将其发送回浏览器之前进行相应的修改。我不知道这是否可行。如果有可能那么它仍然是一种黑客而不是一个好的解决方案。