betacode

Руководство JasperReport для начинающих

  1. Установка требует
  2. Интерфейс отчета смоделирует
  3. Создать JasperReport Project
  4. Создать Data Adaptor
  5. Дизайн отчета
  6. Вызвать отчет JasperReport в Java

1. Установка требует

Jaspersoft Studio Plugin:
Для программирования отчета Jasperreport вам нужно установить Jaspersoft Studio в Eclipse. Вы можете посмотреть руководство по ссылке:
LearningSQL
LearningSQL это малая databas, использующаяся во многих руководствах в o7planning.
Руководство программирования отчета JasperReport так же использует данные в этой Database. Вам нужно создать данную Database (Понадобится только 5 минут) по руководству ниже:
Oracle:
SQL Server
MySQL
Драйвер библиотеки базы данных (Oracle, MySQL, SQLServer) и способ использования:
В зависимости от какой database вы используете, вам нужна библиотека для управления этой Databas (Java JDBC Driver) (Вам понадобится 3 минуты для выполнения), смотрите руководство скачивания по ссылке:

2. Интерфейс отчета смоделирует

Это иллюстрация необработанных данных:
В отчете, мы сгруппируем данные чтобы полчить резальтаты как в иллюстрации ниже:
И это интерфейс отчета:
SQL:
Select Acc.Open_Branch_Id
     ,Bra.Name           Branch_Name
     ,Acc.Cust_Id
     ,Cus.Address        Cust_Address
     ,Acc.Account_Id
     ,Acc.Product_Cd
     ,Acc.Avail_Balance
From   Account  Acc
     ,Customer Cus
     ,Branch   Bra
Where  Acc.Cust_Id = Cus.Cust_Id
And    Acc.Open_Branch_Id = Bra.Branch_Id

3. Создать JasperReport Project

Откройте Perspective: Report Design.
Далее, создайте Project:
  • File/New/Other..
Введите название Project:
  • HelloJasperReport
Project создан:

4. Создать Data Adaptor

Здесь я подключаю к базе данных Oracle. Вы можете сделать то же самое для MySQL или SQLServer, отличие только в использовании библиотеки & URL Connection String.
Для Oracle введите:
  • JDBC Url: jdbc:oracle:thin:@localhost:1521:db11g
Ошибка происходит если вы не объявили classpath Драйвера библиотаки данной базы данных.
Нужто только Add (добавить) местоположение файла jar, драйвер библиотеки для данной базы данных.
OK, Data Adaptor создан.

5. Дизайн отчета

Create a new report
  • File/New/Other...
Ввести название отчета:
  • FirstJasperReport
Select Acc.Open_Branch_Id
      ,Bra.Name           Branch_Name
      ,Acc.Cust_Id
      ,Cus.Address        Cust_Address
      ,Acc.Account_Id
      ,Acc.Product_Cd
      ,Acc.Avail_Balance
From   Account  Acc
      ,Customer Cus
      ,Branch   Bra
Where  Acc.Cust_Id = Cus.Cust_Id
And    Acc.Open_Branch_Id = Bra.Branch_Id
Генерирован отчет.
Outline View очень важен, при дизайне отчетов мы будем постоянно им пользоваться.
Создана пустая страница отчета. В котором части содержания Page Header, Column Header, Column Footer, Page Footer отображаются на каждой странице отчета. Вы можете удалить ненужные части содержания нажатием на правую мышь и выбрать Delete.
Здесь я удалил все и сохранил только 2 части Column Header & Detail, чтобы легко сделать дизайн, если понадобится мы опять их создадим.
  • Column Header: Содержит заглавия столбцов данных. По умолчанию повторяется 1 раз на всех страницах.
  • Detail: Содержит записи, повторяется по количеству записей из запроса.
Rough design report
Перетаищть Rectangle из Pallete в часть Column Header отчета. Потом перетащить Rectangle заполнить по горизонтали.
Далее, урегулировать высоту Column Header чтобы сравнялось с высотой созданного Rectangle. Чтобы избежить ненужных пробелов отчета.
Полученные результаты:
Поменять фоновый цвет Rectangle:
Далее мы по-порядку создаем 2 group:
  • Group Branch
  • Group Cust
Их значения описываются в иллюстрации ниже:
На Outline нажмите на правую мышь на FirstJasperReport, выберите Create Group:
Далее мы перетаскиваем Rectangle из Pallete в область "Branch Group Header 1"
Изменить фоновый цвет созданного Rectangle.
Далее мы перетаскиваем по порядку field: Open_Branch_IdBranch_Name в Rectangle в блоке "Branch Group Header 1".
Индентично мы перетаскиваем Branch_Name рядом с Open_Branch_Id.
Далее, создаем Group Customer:
Customer Group создан, перетащите Rectangle в "Customer Group Header 1". Урегулируйте и поменяйте фоновый цвет Rectangle как в иллюстрации ниже:
Перетащите field: Cust_ID в созданный Rectangle.
Индентично, перетащите поле (field) Cust_Address.
Далее, по-порядку перетащите поля (field) Account_Id, Product_Cd, Avail_Balance в область "Detail 1":
Заметка: Если вы перетаскиваете (FIELD) в область Detail, заглавие столбцов так же автоматически создаются в области Column Header.
Урегулируйти высоту области "Detail 1" в минимум:
Далее, перетащите остальные заглавия столбцов:
Минимизируйте высоту 2 областей:
  • Customer Group Footer 1
  • Branch Group Footer 1
Далее мы перетаскиваем поле (Field): AVAIL_BALANCE в "Customer Group Footer 1" & "Branch Group Footer 1".
Одновременно меняем цвет фона 2-м объектам которые мы только что перетащили.
Run report (First time)
Тестируем запуск отчета, нажимая на Preview TAB:
Beauty Report
Выбрать поля (field), и настроить атрибуты как в иллюстрации ниже.
Run Report (Second time)
Design Header section of the report
Создать images в project, копировать файл bank.png в эту папку, как в иллюстрации ниже:
  • bank.png
Перетащить объект Image из Pallete в Header страницы отчета.
Далее перетащите объект "Static Text" в Header страницы отчета.
Индентично перетащите второй объект "Static Text" в Header страницы отчета.
Run Report (Third time)

6. Вызвать отчет JasperReport в Java

Смотрите так же: