4.2.1. Шаблоны XLSX и XLS
Шаблоны XLSX и XLS создаются с помощью Microsoft Office или LibreOffice.
Для каждой полосы отчёта в шаблоне должен быть определен регион с именем полосы. К примеру, если отчёт содержит две полосы – Header и Data, то шаблон отчёта также должен содержать именованные регионы Header и Data. Именованные регионы создаются путем выделения нужного диапазона ячеек и ввода имени в поле в левом верхнем углу приложения. Для редактирования уже созданных именованных регионов в Microsoft Office используется команда меню Formulas → Name Manager, а в OpenOffice команда Insert → Names → Manage. И, напротив, каждый элемент шаблона, который необходимо отобразить, должен быть создан как полоса в структуре отчёта, даже если эта полоса будет пустой.
Полосы выводятся в том порядке, в котором заданы в структуре отчёта.
Полосы могут быть горизонтальными и вертикальными. В горизонтальных полосах именованные регионы будут заполняться вниз, в вертикальных – вправо. Горизонтальные полосы могут быть организованы в древовидную структуру и содержать вложенные (или дочерние) полосы. Поэтому для вложенных полос необходимо создавать именованные регионы непосредственно под регионами, соответствующими родительским полосам. Отрисовка полос в XLSX происходит по следующему алгоритму:
-
Создание первого ряда родительской полосы →
-
Создание всех дочерних полос первого ряда →
-
Создание следующего ряда родительской полосы.
Поля наборов данных полосы размечаются в шаблоне с помощью строк вида ${field_name}
, где field_name
– имя поля. Например:
В шаблон отчёта также можно включать переменные. Переменные вставляются в имя листа XLSX или его заголовки/подписи в следующем формате: ${<BandName>.<variableName>}
.
Ячейки могут содержать форматирование и сразу несколько полей внутри. Для вывода картинок или формул их нужно целиком поместить в соответствующий именованный регион.
Формулы могут ссылаться на свою полосу или другие полосы в шаблоне. Чтобы формулы обрабатывались генератором отчётов, они должны принимать диапазон ячеек полосы или явные координаты ячеек, например, (A1*B1)
или ($B:$B)
.
Для создания диаграммы в шаблоне Excel создайте пустую полосу в структуре отчёта и именованный регион с тем же названием в шаблоне отчёта. Далее создайте диаграмму в этом именованном регионе, затем выберите в контекстном меню диаграммы пункт "Выбрать данные", где укажите ссылку на необходимые полосы отчёта. Если данные для диаграммы находятся в непрерывном диапазоне ячеек, можно выбрать любую ячейку в этом диапазоне, так в диаграмму будут включены все данные в диапазоне. Если данные находятся в прерывном диапазоне, выберите несмежные ячейки или диапазоны (при этом область выделения должна быть в виде прямоугольника).
- Конвертация XLSX в PDF и CSV
-
Для отчётов в формате XLSX поддерживается автоматическая конвертация в форматы CSV и PDF. Чтобы выбрать выходной тип файла PDF, установите OpenOffice/LibreOffice.
Рисунок 34. Редактор шаблона: конвертация XLSX в CSV