Номер страницы вставки яшмы, когда пагинация игнорируется - PullRequest
2 голосов
/ 19 августа 2011

Я хотел бы вставить номера страниц в отчет Excel (только если он напечатан), созданный с помощью Jasper 3.7.5. Проблема в том, что для 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 ]

2 голосов
/ 22 августа 2011

Вы все еще можете использовать счетчик страниц 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 голос
/ 22 августа 2011

Одной из возможностей было бы проанализировать XLS с API Apache POI и соответствующим образом изменить его перед отправкой обратно в браузер. Я не знаю, возможно ли это. Если это возможно, то все равно это своего рода взлом вместо хорошего решения.

...