Interested Article - JasperReports

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

В случае использования JDBC , основной частью шаблона будет являться SQL -запрос, который указывает какие данные необходимо выбрать из базы данных для генерации отчёта.

В XML -шаблоне отчета (формируется в одном из специализированных графических редакторов, имеет расширение ) допустимо применение css -стилей и выражений для проверки или вычисления результата ( JS , groovy ).

Возможности

  • Поддержка различных источников данных: JDBC , , XML , CSV , JavaBeans , , Hibernate , а также возможность использования собственного источника данных на основе интерфейса JRDataSource
  • Экспорт в различные форматы данных: PDF , HTML , XLS , RTF , ODT , CSV , XML , XHTML , DOCX , XLSX .
  • Использование так называемых скриплетов (scriptlets) на Java , которые могут быть вызваны до или после определённых этапов генерации отчётов, таких как Отчёт (Report) , Страница (Page) , Колонка (Column) и Группа (Group)
  • Использование динамических языков JavaScript и Groovy при реализации логики отчета.
  • Реализация диаграмм (charts) на основе библиотеки .
  • Реализация подотчётов (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{…} .

Примечания

  1. — 2006.

Ссылки

Графические дизайнеры для JasperReports

  • — графический редактор отчётов для работы в среде NetBeans IDE ; создан той же организацией, которая создала JasperReports; поставляется также в виде отдельного приложения
  • — является портом iReport под Eclipse; создан той же организацией, которая создала JasperReports
  • — Open source Java API reporting library based on JasperReports
  • — графический редактор отчётов для JasperReports, работающий в среде Eclipse; коммерческая лицензия
  • — дизайнер шаблонов для JasperReports, построенный на Eclipse платформе (поставляется как в виде набора плагинов для Eclipse IDE, так и в виде отдельного приложения).
Источник —

Same as JasperReports