Цикл статей о JasperReports
20 March 2007, 17:48 | juriy
1. Report in. Что такое JasperReports
В этой заметке описан “быстрый старт” – что надо сделать, чтобы проинтегрировать JasperReports в свой проект
К первой заметке теперь есть видеоролик. Страничка с видео – тут
2. DB support. Интеграция с БД.
В этой заметке приведен пример того, как “заставить” JasperReports строить отчеты по данным из БД.
3. JasperReports Life Cycle Жизненный цикл отчета.
Немного теории JasperReports – какие этапы проходит отчет: от xml шаблона до PDF документа.
4. JasperReports and Ant Интеграция Ant.
С помощью Ant можно автоматизировать часть задач JasperReports: например, компиляцию отчетов. О том, как это сделать – написано в этой заметке.
5. JasperReports visual styles Оформление Jasper отчета.
В этой статье описано, как изменить стили отчета: шрифты, цвета, размещение элементов. Как добавить в отчет фон и как настроить “разметку страницы”.
6. JasperReports grouping. Группировки данных и выражения в JasperReports.
Возможность группировать данные – одна из самых востребованных возможностей JasperReports. Заметка рассказывает о том, как добавить группировки в отчет. Вторая часть статьи – введение в выражения (expressions). “На закуску” – маленький рецепт: как “подсветить” разными цветами данные в зависимости от значений.
JasperReports snippets
1. Печать отчета
Сниппет показвает, как программно выбрать нужный принтер и отослать на него отчет, не экспортируя в промежуточные форматы, вроде XLS или PDF

В первом же пункте “1. Report in. Что такое JasperReports” в исходном коде хтмл страницы есть ошибка. Ошибка сидит в описании хмл файла примера, тег “<style “. Из-за этой ошибки не видно ни текста примеров, ни того текста что идет за ними.
Anatoliy,
Есть такая проблема, спасибо.
Постепенно исправляем.
Русифицировать JasperReports еще никто не пробывал? Для юзеров есть такая необходимость. Языковой файл найден, но при попытке заменить латиницу на кириллицу, возникают кракозябры, вобщем с кодировкой проблема.
У Java в общем и у JasperReport в частности, никаких “проблем с кодировками” нету. Поскольку и “кодировок” во множественном числе там тоже нету. Все строки на любом языке записываются в едином формате – UTF-8. У тебя, скорее всего, проблема со шрифтами.
Спасибо за замечательный статьи о JasperReports.
Ожидаются ли продолжения? В конце 6-ой статьи Вы обещали заметку о параметрах и переменных в JasperReports.
Был бы очень благодарен..
Хорошие статьи, мне очень помогли в освоении JasperReports. Возникла необходимость печатать отчеты на матричном принтере, тоесть печатать текст(plain text), а JasperReports экспортирует в графике. Что можете посоветовать?
Здравствуйте, спасибо за доходчивые статьи.
Не подскажете как сделать отчет, в котором страницы формируются по разным шаблонам.
Ну например, титульная страница, набор страниц с детальной информацией, страница с подведением итогов.
Скажите, можно ли из программы(например, через HashMap) задавать стиль текста (размер и\или имя шрифта) в отчете?
Например так?:
Или надо исходники править?
Отличные статьи!
Добрый день, нужен совет куда смотреть:
Есть проблема с jasperreports – после обновления tomcat на 7 версию при запуске отчета он всё правильно формирует, но выбрасывает сообщение “Session error”. Есть ли другое решение, кроме как вернуться на 6 tomcat?
Подскажите можно ли динамически менять координаты (x,y) reportElement в зависимости от какого либо условия при формировании репорта?
Давно уже не работал с Jasper, но по поводу Tomcat:
1. Tomcat сейчас в Beta, хоть beta довольно стабильная, но косяки бывают. Соответственно, можно попробовать дождаться нормального релиза.
2. Если проблема с сессиями, возможно сессии передаются через URL, а не через cookies. Не буду утверждать на 100%, но в Servlet 3.0 этот метод по умолчанию отключен как несекъюрный. Если приложение на Servlet 2.5, теоретически проблем быть не должно, но учитывая пункт 1 – вполне могут быть.
3. Способ для тех у кого очень много свободного времени: и у томката и у Jasper’а открытые исходники. Можно попробовать отдебажить и посмотреть, что именно происходит в той строке, где выбрасывается исключение. Работа творческая, я как-то целый день потратил, пытаясь на Tomcat 7 запустить CometD. Запустить не запустил, но нашел багу томката :)
Здравствуйте. Хочу Вас поблагодарить за отличные статьи!
Не знаю уже к кому обратиться, прошу Вашей помощи уважаемые коллеги! у меня такая проблема:
Проблема с name-space’ом в iReport при xPath запросу.
Тестирую запрос, в Eclipse, говорит, что все хорошо, данные находятся, но iReport ругается :
Error filling print… XPath selection failed. Expression: //view:coborrowers/view:coborrower/contact:lastName
net.sf.jasperreports.engine.JRException: XPath selection failed. Expression: //view:coborrowers/view:coborrower/contact:lastName at net.sf.jasperreports.engine.util.xml.JaxenXPathExecuter.selectObject(JaxenXPathExecuter.java:128) at net.sf.jasperreports.engine.data.JRXmlDataSource.getFieldValue(JRXmlDataSource.java:302) at net.sf.jasperreports.engine.fill.JRFillDataset.setOldValues(JRFillDataset.java:823) at net.sf.jasperreports.engine.fill.JRFillDataset.next(JRFillDataset.java:787) at net.sf.jasperreports.engine.fill.JRBaseFiller.next(JRBaseFiller.java:1478) at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReport(JRVerticalFiller.java:125) at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:942) at net.sf.jasperreports.engine.fill.JRFiller.fillReport(JRFiller.java:118) at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:435) at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:271) at com.jaspersoft.ireport.designer.compiler.IReportCompiler.run(IReportCompiler.java:989) at org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:572) at org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:997) Caused by: org.jaxen.UnresolvableException: Cannot resolve namespace prefix ‘view’ at org.jaxen.expr.DefaultNameStep.matches(DefaultNameStep.java:358) at org.jaxen.expr.DefaultNameStep.evaluate(DefaultNameStep.java:285) at org.jaxen.expr.DefaultLocationPath.evaluate(DefaultLocationPath.java:140) at org.jaxen.expr.DefaultAbsoluteLocationPath.evaluate(DefaultAbsoluteLocationPath.java:113) at org.jaxen.expr.DefaultXPathExpr.asList(DefaultXPathExpr.java:102) at org.jaxen.BaseXPath.selectNodesForContext(BaseXPath.java:674) at org.jaxen.BaseXPath.selectNodes(BaseXPath.java:213) at org.jaxen.BaseXPath.evaluate(BaseXPath.java:172) at net.sf.jasperreports.engine.util.xml.JaxenXPathExecuter.selectObject(JaxenXPathExecuter.java:102) … 12 more
Print not filled. Try to use an EmptyDataSource…
Помогите пожалуйста разобраться в этой проблеме и как нужно ее обойти. Жду ответа. Заранее спасибо.
С уважением, Евгений
Привет,
а не хотели бы в качестве примеров создания отчетов с помощью визуального средства использовать JasperWave (jasperwave.com)? Между прочим Made in Ukraine :)
а как насчет crosstable в JR
Здравствуйте!
А не подскажете, может ли Jasper Reports работать в среде программирования php?