Анонимный интернационал
- 1 year ago
- 0
- 0
JasperReports — это Java -библиотека для создания отчётов. На основе XML -шаблонов отчётов генерируются готовые для печати документы, консолидирующие данные из различных источников ( JDBC , JavaBean , XML , CSV , XLS ). Отчёты могут выводиться на экран, принтер, либо в форматы PDF , RTF , HTML , XLS , CSV и XML .
В случае использования JDBC , основной частью шаблона будет являться SQL -запрос, который указывает какие данные необходимо выбрать из базы данных для генерации отчёта.
В XML -шаблоне отчета (формируется в одном из специализированных графических редакторов, имеет расширение ) допустимо применение css -стилей и выражений для проверки или вычисления результата ( JS , groovy ).
Дизайн 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{…}
.