JasperReport是一個比較好的基于java的報表工具,支持多種輸出格式
1:對于A4的報表,可以這樣指定頁面:pageWidth="595" pageHeight="842" orientation="Portrait" ,orientation指的是打印的方向,可有2中選擇
Portrait(縱向),LandScape(橫向)
2:報表xml中是區分大小寫的
3:表達式:jasper中共有<variableExpression>, <initialValueExpression>, <groupExpression>,
<printWhenExpression>, <imageExpression>, <textFieldExpression>這幾種表達式,在表達式中可以引用3中類型的變量,分別是$P{},$V{},$F{}.
P=Parameter,V=Variable,F=Field,P通常是通過程序傳給報表中的,V是為了簡化操作定義的一種表達式,F通常是要填充的字段.
<textFieldExpression>
$P{ReportTitle}
</textFieldExpression>
ReportTitle是在應用程序中通過一個Map指定的:
Map parameters = new HashMap();
parameters.put("ReportTitle", "Address Report");
JasperPrint jasperPrint =
JasperFillManager.fillReport(
jasperReport,
parameters,
new WebappDataSource()
);
參數也可以 在xml中指定:
<parameter name="MyDate" class="java.util.Date">
<defaultValueExpression>
new java.util.Date()
</defaultValueExpression>
</parameter>
$F{}例子:
<textFieldExpression>
$F{FirstName} + " " + $F{LastName} + " was hired on " +
(new SimpleDateFormat("MM/dd/yyyy")).format($F{HireDate}) + "."
</textFieldExpression>
4:數據源:
如要為報表指定一個數據源,則需要實現dori.jasper.engine.JRDataSource接口,也就是實現下面2個方法:
public boolean next() throws JRException;
public Object getFieldValue(JRField jrField) throws JRException;
如果報表指定的是Connection,則可以在xml中指定查詢語句:
<queryString><![CDATA[SELECT * FROM Orders]]></queryString>
5:計算:
<variable name="QuantitySum" class="java.lang.Double" calculation="Sum">
<variableExpression>$F{Quantity}</variableExpression>
</variable>
posted on 2005-10-26 15:47
Sung 閱讀(678)
評論(0) 編輯 收藏 所屬分類:
Java