Начальные знания для понимания отчетов FastReport .NET

26.08.2017

Понятие «генератор отчетов» появилось относительно недавно.

Давайте определимся что же это такое. Генератор отчетов – это программа позволяющая на основе набора данных создавать готовые к демонстрации документы. Первые генераторы отчетов были примитивны и позволяли создавать документы в лишь самых распространенных форматах. Они были довольно медленными при построении отчетов с большим объемом данных, интерфейс создания шаблона отчета оставлял желать лучшего. Поэтому многие разработчики сами создавали отчеты в коде своего приложения. Это отнимало много времени и сил.

Однако, флагманы разработки генераторов отчетов довольно быстро учли недостатки первых версий и превратили свои продукты в действительно удобные и быстрые программы. Сейчас уже ни у кого не возникает желания генерировать отчеты Excel вручную.

Принцип работы с генератором отчетов довольно прост. Обычно в состав программы входит дизайнер отчетов, который позволяет создавать шаблон. Вы конструируете свой документ расставляя текстовые поля, таблицы и рисунки. При построении отчета, генератор берет шаблон и наполняет его данными. При этом, вы можете получить множество страниц, если данных много. Затем вы делаете экспорт отчета в желаемый формат: doc, pdf, xls и др. Вот и все.

Большинство процессов можно автоматизировать, например, формировать отчет по расписанию, автоматически экспортировать его в нужный формат и отправлять по email. Но без участия человека все же не обойтись, нужно создать шаблон отчета. Хотя и тут к вам на помощь приходят различные «мастера» по созданию отчетов. Что превращает создание простого отчета в несколько кликов мышью.

Давайте же рассмотрим одного из ярких представителей на рынке генераторов отчетов FastReport.Net. Как вы уже поняли .Net означает, что этот генератор отчетов работает именно с этим фреймворком. Что в свою очередь позволяет нам использовать его в любом .Net приложении.

Немного подробнее о структуре отчета в FastReport.Net:

1)      Отчет состоит из страниц. По умолчанию в отчете одна страница, но вы можете добавлять сколь угодно много новых. Это именно страницы шаблонов, а не отображаемые при построении страницы. Каждая страница шаблона, при наполнении данными может быть представлена множеством страниц построенного отчета, в зависимости от количества данных;

2)      Каждая страница отчета включает в себя блоки размещения данных – бэнды. Бэнды различаются по своему назначению: заголовочные бэнды, бэнды-данные, подвальные бэнды.

3)      Объекты отчета – это различные элементы управления, такие как текстовое поле, checkbox, рисунок, таблица, матрица, график и д.р. В основном они используются для отображения данных, но бывают и чисто декоративные – фигуры.

Таким образом мы получаем необходимую цепочку для отображения данных в отчете: страница – бэнд – объект. Это значит, что в отчете должно быть хотя бы по одному из перечисленных элементов, для отображения информации.

 

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

  1. 1.       Заголовочные бэнды. Из названия ясно, что они содержат заголовки. Это могутбыть:
  • Заголовок отчета;
  • Заголовок страницы;
  • Заголовок данных;
  • Заголовок колонки;
  • Заголовок группы.

Они имеют разное поведение при построении отчета. Первый отображается лишь один раз в начале отчета. Второй – на каждой странице построенного отчета. Третий – также, как и первый, только в начале отчета. Четвертый – вверху каждой колонки. Пятый – при отображении каждой группы.

  1. 2.       Бэнд «Данные» - основа отчета, предназначены для вывода данных из источника. Этот бэнд генерируется для каждой строчки данных из таблицы БД. В отчете может быть несколько бэндов «Данные». Это означает, что данный будут выводиться из нескольких таблиц БД, потому как каждый бэнд «Данные» подключается к конкретной таблице.
  2. 3.       Подвальные бэнды – по сути то же самое, что и заголовочные. Они могут содержать итоговые суммы или данные которые нужно вывеси в самом конце отчета. Можно выделить следующие подвальные бэнды:
  • Подвал страницы;
  • Подвал данных;
  • Подвал колонки;
  • Подвал группы

По аналоги с заголовочными бэндами выводятся: подвал отчета – в конце отчета, подвал страницы – в конце каждой страницы, подвал данных – сразу после бэнда «Данные», подвал колонки – после каждой колонки, подвал группы – в конце каждой группы.

Как я говорил раньше, объекты размещаются на бэндах и в большинстве своем предназначены для вывода информации.

Теперь пара слов о каждом объекте. Основным объектом вывода данных является «Текст». В текстовом объекте можно писать любую информацию, а для отображения поля из источника нужно использовать прямые скобки []. Заключаем в скобки поле [Table.Field]. Такое выражение будет заменено данными из базы.

Такие объекты как Матрица (Сводная таблица) и Таблица основываются на данных из базы. 

Как видите, таблица имеет текстовые данные, которые выводятся с помощью объекта «Текст», а также рисунки, которые выводятся с помощью объекта «Рисунок». Из этого можно сделать заключение, что некоторые объекты могут включать в себя другие.

Рисунки могут быть загружены из локальной папки или непосредственно из базы данных, как в показанном выше примере.

Диаграмма – строится на основе данных из БД (есть возможность задать данные вручную). Задаются значения по X и Y координатной оси:

 

Предусмотрено множество видов диаграмм, самая распространенная – гистограмма, показанная выше.

Вложенный отчет – по сути еще один отчет, который можно разместить в нужном месте текущего отчета.

Форматированный текст – текстовый объект, формат отображения которого вы задаете на этапе создания в редакторе. Конечно, вы можете настроить любой тестовый объект и после создания.

Индекс– специально отформатированный объект для отображения почтового индекса подобно почтовым конвертам:

Штрих код – имеет широкую номенклатуру штрих кодов различных стандартов. Строится как на основе вручную введенных данных, так и по данным из БД:

 

 

Флажок – обычный СheckBox. Является индикатором для полей данных с типом Boolean.

Карта – позволяет вставлять в отчет интерактивные карты. Можно перемещаться по карте, уменьшать и приближать, подобно google картам.

 

Искрографик и индикатор – разновидности диаграмм.

Фигуры – носят декоративный характер. С помощью них мы можем организовать простейшую векторную графику в отчете.

Текст в ячейках – стилизация вывода текста посимвольно в каждой ячейке. Обычно используется в анкетах.

На этом, пожалуй, все. Надеюсь, эта небольшая вводная информация даст вам некоторое понимание структуры отчетов в FastReport.

В следующей статье я рассмотрю бэнды более детально. Так как это наиболее сложный для понимания механизм в отчетах FastReport. Мы еще раз поговорим о назначении каждого из бэндов и особенностях отображения при построении. Имея эти базовые знания, вы сможете проектировать отчеты любой сложности.

.NET .NET FastReport FastReport
10 февраля 2025

Как попробовать FastReport .NET WEB перед покупкой

Протестировав WEB пак перед покупкой, вы сможете сделать осознанный выбор: подходит ли вам FastReport .NET для ваших задач.
22 января 2025

Как подключить РЕД БД к генератору отчетов FastReport .NET

Пошаговая инструкция по подключению РЕД БД к генератору отчётов FastReport .NET. Эффективные методы и рекомендации для создания отчётов на основе данных из базы.
20 ноября 2024

Локализация и смена языков в FastReport VCL

FastReport VCL поддерживает 40 языков для локализации интерфейса и позволяет изменять язык на лету через меню или код, без перекомпиляции.