JasperReports — Java-библиотека для создания отчётов. На основе XML-шаблонов отчётов генерируются готовые для печати документы, консолидирующие данные из различных источников (JDBC, JavaBean, XML, CSV, XLS). Отчёты могут выводиться на экран, принтер, либо в форматы PDF, RTF, HTML, XLS, CSV и XML.
В случае использования JDBC, основной частью шаблона будет являться SQL-запрос, который указывает какие данные необходимо выбрать из базы данных для генерации отчёта.
В XML-шаблоне отчета (формируется в одном из специализированных графических редакторов, имеет расширение .jrxml) допустимо применение css-стилей и выражений для проверки или вычисления результата (JS, groovy).
Возможности Поддержка различных источников данных: JDBC, CALS Table Models, XML, CSV, JavaBeans, EJBQL, Hibernate, а также возможность использования собственного источника данных на основе интерфейса JRDataSource Экспорт в различные форматы данных: PDF, HTML, XLS, RTF, ODT, CSV, XML, XHTML, DOCX, XLSX. Использование так называемых скриплетов (scriptlets) на Java, которые могут быть вызваны до или после определённых этапов генерации отчётов, таких как Отчёт (Report), Страница (Page), Колонка (Column) и Группа (Group) Использование динамических языков JavaScript и Groovy при реализации логики отчета. Реализация диаграмм (charts) на основе библиотеки JFreeChart. Реализация подотчётов (subreports) с неограниченной глубиной вложенности. Реализация кросстаблиц (crosstabs). Группировка данных по требуемому полю
JRXML-шаблон Дизайн JasperReports описывается в специальном XML-файле шаблона, который называется JRXML. Данный шаблон можно создать в ручном режиме (текстовый редактор) или используя различные графические дизайнеры для JasperReports.
Простейший пример шаблона: <?xml version="1.0" encoding="windows-1251"?> <!DOCTYPE jasperReport PUBLIC "-//JasperReports//DTD Report Design//EN" "http://jasperreports.sourceforge.net/dtds/jasperreport.dtd">
<jasperReport name="ReportName">
<style name="Arial_Normal" isDefault="true" fontName="Arial" fontSize="12" pdfFontName="c:\tahoma.ttf" pdfEncoding="Cp1251" isPdfEmbedded="false" />
<field name="name" class="java.lang.String" /> <detail> <band height="20"> <textField> <reportElement x="0" y="0" width="50" height="20" /> <textFieldExpression class="java.lang.String"> <![CDATA[$F{name}]]> </textFieldExpression> </textField> </band> </detail> </jasperReport>
Тег jasperReport указывает на начало отчета. Для того чтобы использовать поля, сначала их необходимо описать, например, . В описание входит имя поля name и его java-class class. После описания поля к нему можно обращаться следующим образом: $F{name}. Директива $F{…} указывает на использование именно поля. Также возможно применение переменных $V{…} и параметров $P{…}.
Примечания
Ссылки Официальный сайт
Графические дизайнеры для JasperReports iReport — графический редактор отчётов для работы в среде NetBeans IDE; создан той же организацией, которая создала JasperReports; поставляется также в виде отдельного приложения Jaspersoft Studio — является портом iReport под Eclipse; создан той же организацией, которая создала JasperReports DynamicReports — Open source Java API reporting library based on JasperReports JasperAssistant — графический редактор отчётов для JasperReports, работающий в среде Eclipse; коммерческая лицензия Plazma Report Designer JasperWave Report Designer — дизайнер шаблонов для JasperReports, построенный на Eclipse платформе (поставляется как в виде набора плагинов для Eclipse IDE, так и в виде отдельного приложения).
Категория:Java Категория:Свободные библиотеки программ