2013-11-25 5 views
0

Надеюсь, вы можете мне помочь. Google еще не смог мне помочь. Ну, на самом деле я даже не знаю, что искать точно.Как добавить элементы предварительного просмотра страницы JasperReports

Я пытаюсь создать файл (в данном случае .xls) через JasperReports и Java. Сам файл заполняется и имеет тот же формат, что и файл .jasper. Моя проблема заключается в том, чтобы разделить дизайн на вид таблицы и печатную версию. При просмотре листа я хочу видеть только данные и заголовок, похожие на CSV-файл.

+--------+----------------------+-------+--------+ 
| Amount | Name     | each | total | 
+--------+----------------------+-------+--------+ 
| 2  | iPhone 5s   | $ 699 | $ 1398 | 
| 1  | Samsung Galaxy S4 | $ 499 | $ 499 | 
| 4  | USB Connection cable | $ 5 | $ 20 | 
+--------+----------------------+-------+--------+ 

При печати (или даже при открытии страницы предварительного просмотра) Я хочу, чтобы добавить номер страницы и информацию заголовка, как имя отчета или вещи (я хочу, чтобы определить их в одиночку).

Date: 11/25/2013         reference Number: 0X6584A8BFC 

           DELIVERY 

      +--------+----------------------+-------+--------+ 
      | Amount | Name     | each | total | 
      +--------+----------------------+-------+--------+ 
      | 2  | iPhone 5s   | $ 699 | $ 1398 | 
      | 1  | Samsung Galaxy S4 | $ 499 | $ 499 | 
      | 4  | USB Connection cable | $ 5 | $ 20 | 
      +--------+----------------------+-------+--------+ 

           PAGE 1/2 

Как я могу рассказать яшму, чтобы добавить эту информацию? Не могли бы вы дать мне несколько ключевых слов? Все равно возможно?

Спасибо за вашу помощь

Zota

- редактировать

Моя задача состоит в том, чтобы найти более стабильный способ создания документов. В настоящее время мы используем сервер Open Office, который преобразует данные в ods, odt и т. Д., А затем снова в pdf xls и т. Д. Документы должны выглядеть точно так же, как и раньше. Я немного искал, как он был решен раньше, и нашел данные внутри области заголовка и нижнего колонтитула документа.

В LibreOffice Calc -> Open Document -> Edit -> Заголовки & колонтитулы ...

Там вы можете добавить данные, которые не видны на листе, а на печатном документе. Я знаю, что в Джаспере у вас есть полосы, но при добавлении данных в полосу страниц все равно будет напечатано внутри листа. Как я могу сказать яшме, чтобы поместить эту информацию в секцию заголовка, а НЕ внутри листа?

+0

Я создал дизайн (.jrxml) через iReport и скомпилировал его с помощью jasperreports-maven-plugin. Я смог создать (и заполнить) каждый дизайн самостоятельно. Я еще не пробовал, но в основном потому, что не знаю, что искать. – Zotastas

ответ

0

Чтобы добавить данные в раздел заголовка/нижнего колонтитула моих (ваших) файлов, вы можете использовать

net.sf.jasperreports.export.xls.sheet.footer.center 
net.sf.jasperreports.export.xls.sheet.footer.left 
net.sf.jasperreports.export.xls.sheet.footer.right 
net.sf.jasperreports.export.xls.sheet.header.center 
net.sf.jasperreports.export.xls.sheet.header.left 
net.sf.jasperreports.export.xls.sheet.header.right 

как ключи собственности. Доступные свойства перечислены here. С этими свойствами я смог добавить данные в документ, показанный на печатной версии, но не при просмотре листа.

Спасибо всем, кто пытался помочь =)

0

Просто, чтобы добавить больше деталей к ответу выше: Если вы хотите назначить динамическое содержимое этих параметров, используйте следующие из кода Java:

jasperPrint.getPropertiesMap().setProperty("net.sf.jasperreports.export.xls.sheet.footer.left", "the dynamic text"); 

Приглашение здесь: http://community.jaspersoft.com/jasperreports-library/issues/5193

Это слишком долго для меня, чтобы выяснить это. Может быть полезно другим.

Смежные вопросы