JasperReports

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск
JasperReports
Тип

Java-библиотека

Разработчик

Jaspersoft

Написана на

Java

Операционная система

Кроссплатформенное ПО

Последняя версия

5.5.0 (24 октября 2013 года)

Лицензия

GNU Lesser General Public License

Сайт

jasperforge.org/projects/jasperreports

JasperReports — это Java-библиотека для создания отчётов. На основе XML-шаблонов отчётов генерируются готовые для печати документы, консолидирующие данные из различных источников, в том числе JDBC. Отчёты могут выводиться на экран, принтер, либо в форматы PDF, RTF, HTML, XLS, CSV и XML. Основной частью шаблона является SQL-запрос, который указывает какие данные необходимо выбрать из базы данных для генерации отчёта. В XML-шаблоне допустимо применение стилей и выражений (для проверки или вычисления результата). Также возможна группировка данных по требуемому полю.

Возможности[править | править исходный текст]

  • Поддержка различных источников данных: JDBC, CALS Table Models, XML, CSV, JavaBeans, EJBQL, Hibernate, а также возможность использования собственного источника данных на основе интерфейса JRDataSource
  • Использование так называемых скриплетов (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

- указывает на начало отчета. Для того, чтобы использовать поля, сначала их необходимо описать.

<field name="name" class="java.lang.String" />

В описание входит имя поля 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, так и в виде отдельного приложения).

Ссылки[править | править исходный текст]