A simple and easy to use Web Report System for java
EasyReport — это простой и удобный инструмент для создания веб-отчётов на Java. Он преобразует структуру строк и столбцов SQL-запросов в HTML-таблицы (Table) и поддерживает функции объединения ячеек (RowSpan) и (ColSpan). Также он поддерживает экспорт отчётов в Excel, отображение графиков и фиксированные заголовки таблиц и левые столбцы.
Присоединяйтесь к QQ группе для общения: (365582678)
Примечание: Этот проект является работой автора @TomDeng на GitHub. На OpenSourceChina он был перенесён только автором, а не самим автором проекта. Проект предназначен для обучения и использования коллегами-техниками!
[jdk1.8]
[maven3]
[eclipsejee-luna]
[tomcat7+]
[MySQL5+]
Сначала убедитесь, что установлены JDK1.8, Maven3, MySQL5+ и настроены репозитории Maven. Затем выполните следующие действия:
step1: git clone https://github.com/xianrendzw/EasyReport.git
step2: Создайте базу данных с именем easy_report в MySQL и распакуйте yourgitrepository/EasyReport/docs/db/mysql.zip. Выполните easy_report_mysql.sql для создания структуры таблицы и импорта исходных данных
step3: cd yourgitrepository/EasyReport/easyreport-web
step4: Измените src\main\resources${env}\resource.properties, чтобы настроить строку подключения к базе данных, IP, пользователя и пароль
step5: mvn clean package -Dskiptest=true -P${env} (переменная ${env}: dev для разработки, prod для производства, test для тестирования)
step6: После шага 4 будет создан файл easyreport-web.war в каталоге target. Затем этот файл можно развернуть в контейнерах Tomcat, JBoss, Jetty и других.
Сначала установите JRE1.8 или JDK1.8 и MySQL5+. Затем выполните следующие шаги:
step1: Загрузите файл war напрямую из релизов
step2: В MySQL создайте базу данных с именем easy_report. Распакуйте mysql.zip, затем выполните easy_report_mysql.sql, чтобы создать структуру таблицы и импортировать исходные данные
step3: Измените файл war в папке WEB-INF\classes\resource.properties и настройте строку подключения к базе данных, IP, пользователя и пароль
step4: Затем разверните файл war в контейнере Tomcat, JBoss, Jetty или другом.
Иногда необходимо отправлять отчёты по электронной почте пользователям в соответствии с определённым расписанием (ежедневно, ежемесячно, ежеквартально и т. д.). Для этого требуется программа планирования задач. Существует множество программ планирования задач (Linux: at, crontab; Windows: Планировщик заданий), и этот инструмент предоставляет простую программу планирования.
Примечание: Эта программа не является обязательной. Если вам не нужно отправлять отчёты по расписанию, вы можете не развёртывать эту программу. Конкретные шаги установки и развёртывания следующие:
step1: cd yourgitrepository/EasyReport/easyreport-scheduler
step2: Измените src\main\resources${env}\resource.properties для настройки строки подключения к базе данных, пользователя и пароля
step3: mvn clean package -P${env} (переменная ${env}: dev для разработки, prod для производства, test для тестирования)
step4: После выполнения шага 3 в каталоге target будет создан файл easyreport-scheduler.jar. В Linux выполните следующую команду оболочки:
nohup java -jar easyreport-scheduler.jar >log.log 2>&1 &
Проще говоря, отчёт представляет собой формат отображения данных, такой как таблица или график. Это важная часть визуализации данных. Особенно в эпоху больших данных отчёты нужны повсюду. Прежде чем использовать этот инструмент, вы должны понять концепции хранилища данных, измерения, фактов и так далее, что может помочь вам создавать отчёты.
Этот инструмент просто извлекает данные из базы данных (MySQL, Oracle, SQLServer, HBase и т.д.) и преобразует их в формат HTML-таблиц. Он не поддерживает сложные функции OLAP, такие как CUBE, Drill-down и Slice.
Перед созданием отчёта необходимо настроить источник данных. Этот инструмент поддерживает только один источник данных (т.е. базу данных).![ds-1]
Управление конфигурацией в основном используется для сопоставления некоторых часто используемых имён столбцов с соответствующими китайскими описаниями при создании отчётов. Например: dt, date (дата), title (заголовок) и т.д. ![config-1]
Обычно после успешной настройки источника данных можно приступать к дизайну отчёта. Дизайн отчёта в основном состоит из двух этапов: базовые настройки и настройка параметров запроса. Базовые настройки должны быть сохранены перед настройкой параметров запроса, которая является необязательной и зависит от намерений дизайнера отчёта.
Перед тем как приступить к разработке отчёта, необходимо ознакомиться с некоторыми терминами. Из концепции хранилища данных мы знаем о понятиях измерения и меры. Фактически результат запроса SQL — это двумерная таблица, состоящая из строк и столбцов. При статистическом анализе некоторые столбцы называются столбцами измерений, а некоторые — столбцами мер. Иногда в таблице фактов есть несколько столбцов измерений и мер, но результаты SQL-запроса могут быть представлены только в виде двумерной таблицы, которая не может быть иерархизирована, а способ отображения фиксирован и не может гибко изменяться. Это создаёт определённые неудобства при наблюдении и анализе данных, поэтому некоторые инструменты отчётов решают эту проблему.
Данный инструмент повторно разделяет столбцы измерений и мер в таблице фактов на следующие категории:
Столбцы макета измерений используются для отображения макета отчёта. Если столбец макета измерений отображается горизонтально, то содержимое столбца будет отображаться в заголовке таблицы отчёта при построении отчёта. Содержимое столбцов общих измерений будет отображаться слева в теле таблицы.
Если столбец макета измерений отображается вертикально, то его содержимое будет отображаться слева в заголовке таблицы при построении отчёта, а содержимое столбцов общих измерений — в заголовке.
После ознакомления с основными знаниями можно перейти к рассмотрению основного процесса разработки отчёта:
Иногда отчёт должен быть динамически сгенерирован в соответствии с заданными условиями, например, для просмотра качества воздуха в разных городах. В этом случае мне нужно создать переменную запроса параметра.
Существует четыре типа элементов управления отображением параметров запроса: раскрывающийся список, множественный выбор, флажок и текстовое поле. Рисунок 1 показывает список параметров запроса. Когда элемент управления параметрами запроса представляет собой раскрывающийся список или множественный выбор, существует два различных способа предоставления содержимого:
Источник содержимого | Содержимое | Примечание |
---|---|---|
SQL-оператор | select col1 as name,col2 as text from table ... | Содержит только две колонки, и имена колонок должны быть name и text. Значение name в раскрывающемся списке соответствует атрибуту value, а значение text — атрибуту text. |
Текстовая строка | name1,text1|name2,text2|... или name1|name2|... | Несколько значений разделяются символом '|', если значения name и text совпадают, можно выбрать только одно значение и разделить их символом '|'. |
Некоторые часто используемые параметры запроса не требуют от пользователя каждый раз создавать их заново, поэтому они интегрированы в инструмент. Эти параметры называются встроенными переменными.
Некоторые SQL-операторы отчётов очень сложны, иногда требуется динамическое создание в соответствии с параметрами или требуется использовать шаблонный движок (velocity), поэтому необходимы некоторые функции, которые можно применять в шаблоне. Эти функции называются встроенными функциями.
Встроенные переменные (с учётом регистра):
Имя переменной | Описание | Возвращаемое значение |
---|---|---|
startTime | Дата начала | 2015-02-04 (по умолчанию семь дней до конечной даты, которую можно изменить в настройках отображения) |
endTime | Конечная дата | 2015-02-10 (по умолчанию текущая дата) |
intStartTime | Целочисленная дата начала | 20150204 |
intEndTime | Целочисванная конечная дата | 20150210 |
utcStartTime | UTC дата начала | 2015-02-04 (UTC дата, Китай находится в часовом поясе UTC+8) |
utcEndTime | UTC конечная дата | 2015-02-10 (UTC дата) |
utcIntStartTime | UTC целочисленная дата начала | 20150204 |
utcIntEndTime | UTC целочисванная конечная дата | 20150204 |
Встроенные функции:
Нажмите кнопку «Показать диаграмму» отчёта, появится следующее окно: Если вы хотите сравнить данные нескольких городов, вы также можете использовать сравнение: Если статистическая колонка имеет только одну колонку, диаграмма может поддерживать одновременное отображение двух измерений:
Примеры используют данные с сайтов pm25.in и aqistudy. Если вам нужно запустить примеры отчётов, вам потребуется создать базу данных с именем china_weather_air в MySQL, затем распаковать yourgitrepository/EasyReport/docs/db/mysql.zip и выполнить файл mysql_china_weather_air.sql для создания структуры таблицы и импорта исходных данных.
Общая архитектура системы показана ниже:
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )