Редактор jrxml-шаблонов iReport

Визуальный редактор iReport Designer предназначен для создания jrxml-шаблонов, используемых при создании отчетов в JasperReports. Скачать последнюю версию iReport Designer можно на официальной странице производителя Jaspersoft Community.

На момент написания данной статьи последней версией была iReport-5.6.0, с которой возникли небольшие сложности, связанные с JVM версии 1.8.0.131. Так на одном компьютере (Windows-10, x64) iReport стартовал сразу же без проблем, а на другом -- (Windows-7, x32) не захотел работать. После определения в файле «iReport-5.6.0/etc/ireport.conf» пути к jdk1.7.0_79, проблема была решена.

На странице описывается применение iReport Designer для создания jrxml-шаблона, который используется в примере на странице JasperReports. Там же приводится и описание структуры jrxml-шаблона и исходные данные для отчета.

Выбор типа шаблона

Для определения типа шаблона необходимо выбрать пункт меню File/New, которое откроет окно с набором различных типов.

Выбираем шаблон по умолчанию. Далее нажимаем на кнопку «Open this Template» и переходим к определению наименования шаблона и директории его расположения.

Если нажать на первом шаге кнопку «Launch Report Wizard», то дополнительно можно будет определить источник данных и параметры подключения к нему, поля в отчете и т.д. Для первого отчета это можно пропустить, тем более что в примере база данных не используется.

После определения первичных параметров откроется окно с заготовкой jrxml-шаблона. Слева в интерфейса располагается Report Inspector, определяющий структуру шаблона. По центру сам шаблон, который можно переключать в режим Designer, XML и Preview кнопками, расположенными сверху над ним. Справа располагается панель свойств Properties элементов шаблона. Дополнительные панели различных свойств шаблона представлены в пункте меню Window.

Общие настройки

Первоначально проверяем язык Language. Для этого выделяем корневой элемент в Report Inspector и в панели свойств Properties меняем Language с Groovy (по умолчанию) на Java.

Определение стиля шаблона

Для определения стиля jrxml-шаблона выделяем элемент Styles и правой клавишей мыши выбираем контекстный пункт меню Add/Style.

В панели свойств устанавливаем соответствующие значения : «Pdf Font name», «Pdf Encoding».

Можно напрямую определить значения стиля в jrxml-шаблоне после перевода его в режим XML.

<style name="Default" isDefault="true"
          pdfFontName="./font/ARIAL.TTF"
          pdfEncoding="Cp1251"/>

Использование шрифта ./font/ARIAL.TTF позволяет локализовать кириллицу.

Управление секциями шаблона

Удаляем не используемые в нашем первом отчете секции. Для этого необходимо выделить соответствующую секцию в панели Report Inspector и в контекстном меню (открыть правой клавишей мыши), выбрать пункт «Delete Band». Не используемая в шаблоне секция становится в Report Inspector серой. Чтобы добавить секцию в шаблон необходимо в контекстном меню выбрать «Add Band».

В шаблоне оставляем только секции Title, Column Header и Detail1.

Добавление поля, параметра, переменной

Для добавления поля в шаблон необходимо выделить элемент Fields в «Report Inspector» и выбрать в контекстном меню «Add Field».

После этого следует определить наименование и тип/класс поля в панели свойств Properties. Дополнительно можно добавить комментарий к полю (Description).

К элементу Fields добавляем поля state(java.lang.String), item(java.lang.String), date(java.util.Date), quantity(java.lang.Integer), price(java.lang.Integer).

К элементу Parameters добавляем параметр DATE и определяем тип java.util.Date.

К элементу Variables добавляем переменную cost c типом java.lang.Integer, для которой необходимо определить в качестве свойства выражение «Variable Expression». Это можно сделать в отдельном окне, нажав на кнопку "…" в поле «Variable Expression» панели свойств.

Визуальные компоненты jrxml-шаблона

Для формирования интерфейса шаблона необходимо использовать панель «Palette», которую можно открыть либо горячими клавишами Ctrl+Shift+8, либо выбрать пункт меню Window/Palette. Панель «Palette» будет помещена в панель свойств «Properties».

Для отчета выбираем компоненты «Text Field» и перетаскиваем одно в секцию Title и шесть - в секцию Detail1. В секцию Column Header перетаскиваем 6 компонентов «Static Text».

По умолчанию поля «Text Field» связаны с несуществующим полем $F{field}. Чтобы их связать с определенными в шаблоне полями, параметрами и переменными необходимо в панели свойств «Properties» выделить «Text Field Expression», нажать на кнопку "…" и в окне «Text Field Expression» переопределить связь.

Для заголовков колонок используем компоненты «Static Text», для каждого из которых определяем текст и фон. На следующих двух скриншотах представлены панели «Report Inspector» и «Properties» с выделенным заголовком «Стоимость».

Итоговый интерфейс jrxml-шаблона для описанного на странице JasperReports примера представлен на следующем скриншоте.

Генерируемый на основе шаблона отчет можно увидеть здесь.

Продолжение статьи с рассмотрением группировки и суммирования данных, а также нумерации данных в секции, можно увидеть здесь.

С примером настройки JDBC в приложении iReport и формированием JasperReport отчета можно познакомиться здесь.

  Рейтинг@Mail.ru