jasperReport介绍:
JasperReport是一个强大、灵活的报表生成工具,能够展示丰富的页面内容,并将之转换成PDF,HTML,或者XML格式。该库完全由Java写成,可以用于在各种Java应用程序
IReport介绍:
iReport 是为JasperReports Library和JasperReports Server设计的报表可视化设计器
通过iReport 设计好模板后,用JasperReport的jar库,可以在项目中使用模板生成各种报表
报表格式介绍
以下是图中提到的每个元件的描述。
| 元素 | 描述 |
|---|---|
| title | 标题包含该报告的标题。它只会出现一次,在报告的一开始,例如,“Yiibai教程报告”。 |
| pageHeader | PageHeader可能包含日期和时间的信息和/或组织的名称。这出现在每个页面的顶部。 |
| columnHeader | ColumnHeader列出了要在报表中显示,例如,“作者姓名”,“启动时间”,“完成时间”具体字段,“工作时间”和“日期”等的名称。 |
| detail | 详细信息在这里显示的特定字段(在的columnHeader列表)条目,例如部分"Manisha", "9:00", "18:00", "9", "10.02.2013". |
| columnFooter | ColumnFooter可以显示的任何字段的总和,例如,"Total Hours Worked: 180" |
| pageFooter | PageFooter可能包含页面计数信息。它出现在每个页面的底部,例如,"1/23". |
| summary | 摘要包含从“细节”部分推断出的信息,例如,工作小时为每个作者的数量列表,总工时为每个作者可以把视力表像饼图,曲线图等,为更好的比较。 |
jrxml 模板例子
<?xml version="1.0" encoding="UTF-8"?>
<jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="report1" language="groovy" pageWidth="595" pageHeight="842" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20" uuid="ca5579f3-89ba-4d46-a0bf-cc145b2cbe63">
<property name="ireport.zoom" value="1.0"/>
<property name="ireport.x" value="0"/>
<property name="ireport.y" value="195"/>
<queryString language="SQL">
<![CDATA[select * from link_info]]>
</queryString>
<field name="id" class="java.lang.String">
<fieldDescription><![CDATA[]]></fieldDescription>
</field>
<field name="link_name" class="java.lang.String">
<fieldDescription><![CDATA[]]></fieldDescription>
</field>
<field name="from_nodenum" class="java.lang.String">
<fieldDescription><![CDATA[]]></fieldDescription>
</field>
<field name="to_nodenum" class="java.lang.String">
<fieldDescription><![CDATA[]]></fieldDescription>
</field>
<field name="link_color" class="java.lang.String">
<fieldDescription><![CDATA[]]></fieldDescription>
</field>
<field name="groupid" class="java.lang.String">
<fieldDescription><![CDATA[]]></fieldDescription>
</field>
<field name="create_user" class="java.lang.String">
<fieldDescription><![CDATA[]]></fieldDescription>
</field>
<field name="description" class="java.lang.String">
<fieldDescription><![CDATA[]]></fieldDescription>
</field>
<field name="usable" class="java.lang.Boolean">
<fieldDescription><![CDATA[]]></fieldDescription>
</field>
<field name="create_time" class="java.sql.Timestamp">
<fieldDescription><![CDATA[]]></fieldDescription>
</field>
<field name="road_length" class="java.lang.Float">
<fieldDescription><![CDATA[路长]]></fieldDescription>
</field>
<background>
<band splitType="Stretch"/>
</background>
<title>
<band height="79" splitType="Stretch">
<staticText>
<reportElement x="200" y="19" width="189" height="48" uuid="15e5e6c0-de04-42c8-be59-01b1eed01b56"/>
<textElement textAlignment="Center">
<font size="24"/>
</textElement>
<text><![CDATA[标题]]></text>
</staticText>
</band>
</title>
<pageHeader>
<band height="35" splitType="Stretch"/>
</pageHeader>
<columnHeader>
<band height="61" splitType="Stretch">
<staticText>
<reportElement x="25" y="24" width="84" height="20" uuid="e23a18f1-4876-4436-8f29-a0843c5e99b8"/>
<text><![CDATA[名字]]></text>
</staticText>
<staticText>
<reportElement x="125" y="24" width="84" height="20" uuid="46e56b60-c779-48b0-8ffc-1b4902a267ac"/>
<text><![CDATA[来自]]></text>
</staticText>
<staticText>
<reportElement x="251" y="24" width="84" height="20" uuid="9b1579c1-4d51-4566-bb79-98a940aa510a"/>
<text><![CDATA[连接到]]></text>
</staticText>
<staticText>
<reportElement x="358" y="24" width="84" height="20" uuid="5952fbc3-134a-4bc3-adbc-838f49d21a59"/>
<text><![CDATA[id]]></text>
</staticText>
</band>
</columnHeader>
<detail>
<band height="125" splitType="Stretch">
<textField>
<reportElement x="25" y="10" width="100" height="20" uuid="a412f9d3-6649-4325-8492-c0b9263c691c"/>
<textFieldExpression><![CDATA[$F{link_name}]]></textFieldExpression>
</textField>
<textField>
<reportElement x="358" y="10" width="100" height="20" uuid="d616d652-8d1b-4d10-a410-4171f40a7989"/>
<textFieldExpression><![CDATA[$F{id}]]></textFieldExpression>
</textField>
<textField>
<reportElement x="126" y="10" width="100" height="20" uuid="931c21cb-3975-42cb-a087-d94798b6820d"/>
<textFieldExpression><![CDATA[$F{from_nodenum}.toString()]]></textFieldExpression>
</textField>
<textField>
<reportElement x="251" y="10" width="100" height="20" uuid="9d93f9c6-1838-46cb-8a1f-677540f29e7c"/>
<textFieldExpression><![CDATA[$F{to_nodenum}.toString()]]></textFieldExpression>
</textField>
</band>
</detail>
<columnFooter>
<band height="45" splitType="Stretch"/>
</columnFooter>
<pageFooter>
<band height="54" splitType="Stretch">
<textField>
<reportElement x="399" y="10" width="80" height="20" uuid="907affe4-7cbc-4f03-9d63-8defa94eccf4"/>
<textElement textAlignment="Right"/>
<textFieldExpression><![CDATA["Page "+$V{PAGE_NUMBER}+" of"]]></textFieldExpression>
</textField>
<textField evaluationTime="Report">
<reportElement x="493" y="10" width="40" height="20" uuid="f965007e-3b26-4ab9-9147-0fba28cb1d91"/>
<textFieldExpression><![CDATA[" " + $V{PAGE_NUMBER}]]></textFieldExpression>
</textField>
</band>
</pageFooter>
<summary>
<band height="42" splitType="Stretch"/>
</summary>
</jasperReport>
Jaspersoft+iReport+Designer5.6+oracle11g
请看百度经验:
http://jingyan.baidu.com/article/219f4bf7d75f9ede442d38b0.html
在ireport 上选择各种预览方式,点击预览就可以生成各种格式的文件,注意pdf 比较特殊,需要设置 字体格式个中文类型。不然不会显示。
ireport会生成**.jasper和**.jrxml。**.jrxml相当于xml配置文件,里面包括设计的个中字段及数据库查询语句及 报表格式。而**.jasper是*.jrxml编辑过后的二进制文件,不可读。
我们在以后和java项目整合时使用到的是ireport生成的**.jasper文件。当然也可已使用**.jrxml文件,然后在编译成**.jasper文件。