jasperreport初级中文学习教程: 6 查看报告

查看报表

JasperReport提供了一个内置的浏览器观看原始格式生成的报表。这是一个基于Swing的组件和其他Java应用程序可以无需将文档导出为其他格式,以便查看或打印此集成组件。net.sf.jasperreports.view.JRViewer类表示这个可视组件。这个类也可以被定制为每个应用程序的需要,通过继承它。

JasperReports也有用来查看报表的可视化组件Swing应用程序。此应用程序可以帮助在相同的格式查看报表为*.jrprint就产生了。这个Swing应用程序是在类net.sf.jasperreports.view.JasperViewer实现。要使用此功能,我们可以把这个包成一个Ant目标,以查看报表。

jasperreport初级中文学习教程:[6]查看报告_jasperreport

下面的示例演示如何查看使用JasperViewer类的报表。

让我们来写一个报告模板。在JRXML文件(C:oolsjasperreports-5.0.1estjasper_report_template.jrxml)的内容如下:

<?xml?version="1.0"?encoding="UTF-8"?>

<queryString>

<![CDATA[]]>

</queryString>

<fieldname="country">

<fieldDescription><![CDATA[country]]></fieldDescription>

</field>

<fieldname="name">

<fieldDescription><![CDATA[name]]></fieldDescription>

</field>

<columnHeader>

<bandheight="23">

<staticText>

<reportElementmode="Opaque"x="0"y="3"width="535"

height="15"backcolor="#70A9A9"/>

<box>

<bottomPenlineWidth="1.0"lineColor="#CCCCCC"/>

</box>

<textElement/>

<text><![CDATA[]]>?</text>

</staticText>

<staticText>

<reportElementx="414"y="3"width="121"height="15"/>

<textElementtextAlignment="Center"

verticalAlignment="Middle">

<fontisBold="true"/>

</textElement>

<text><![CDATA[Country]]></text>

</staticText>

<staticText>

<reportElementx="0"y="3"width="136"height="15"/>

<textElementtextAlignment="Center"

verticalAlignment="Middle">

<fontisBold="true"/>

</textElement>

<text><![CDATA[Name]]></text>

</staticText>

</band>

</columnHeader>

<detail>

<bandheight="16">

<staticText>

<reportElementmode="Opaque"x="0"y="0"width="535"

height="14"backcolor="#E5ECF9"/>

<box>

<bottomPenlineWidth="0.25"lineColor="#CCCCCC"/>

</box>

<textElement/>

<text><![CDATA[]]>?</text>

</staticText>

<textField>

<reportElementx="414"y="0"width="121"height="15"/>

<textElementtextAlignment="Center"

verticalAlignment="Middle">

<fontsize="9"/>

</textElement>

<textFieldExpression>

?????????<![CDATA[$F{country}]]>

</textFieldExpression>

</textField>

<textField>

<reportElementx="0"y="0"width="136"height="15"/>

<textElementtextAlignment="Center"

verticalAlignment="Middle"/>

<textFieldExpression>

<![CDATA[$F{name}]]>

</textFieldExpression>

</textField>

</band>

</detail>

</jasperReport>

写一个主类文件JasperReportFill.java,它从类(DataBeanList)得到的java?bean的集合,并将其传递到Jasper报表引擎,填补了报告模板。把它保存到目录?C:oolsjasperreports-5.0.1estsrccomyiibai.

jasperreport初级中文学习教程:[6]查看报告_jasperreport

package?com.yiibai;

import?java.util.ArrayList;

import?java.util.HashMap;

import?java.util.Map;

import?net.sf.jasperreports.engine.JRException;

import?net.sf.jasperreports.engine.JasperFillManager;

import?net.sf.jasperreports.engine.data.JRBeanCollectionDataSource;

publicclassJasperReportFill{

@SuppressWarnings("unchecked")

publicstaticvoid?main(String[]?args){

String?sourceFileName?=

"c://tools/jasperreports-5.0.1/test/jasper_report_template.jasper";

DataBeanListDataBeanList=newDataBeanList();

ArrayList<DataBean>?dataList?=DataBeanList.getDataBeanList();

JRBeanCollectionDataSource?beanColDataSource?=

newJRBeanCollectionDataSource(dataList);

Map?parameters?=newHashMap();

try{

JasperFillManager.fillReportToFile(

?????????sourceFileName,

?????????parameters,

?????????beanColDataSource);

}catch(JRException?e){

?????????e.printStackTrace();

}

}

}

导入文件?-?baseBuild.xml环境设置,并应放置在同一目录中的build.xml。

<?xml?version="1.0"?encoding="UTF-8"?>

<projectname="JasperReportTest"default="viewFillReport"basedir=".">

<importfile="baseBuild.xml"/>

<targetname="viewFillReport"depends="compile,compilereportdesing,run"

description="Launches?the?report?viewer

??????to?preview?the?report?stored?in?the?.JRprint?file.">

<javaclassname="net.sf.jasperreports.view.JasperViewer"fork="true">

<argvalue="-F${file.name}.JRprint"/>

<classpathrefid="classpath"/>

</java>

</target>

<targetname="compilereportdesing"

description="Compiles?the?JXML?file?and

??????produces?the?.jasper?file.">

<taskdefname="jrc"

classname="net.sf.jasperreports.ant.JRAntCompileTask">

<classpathrefid="classpath"/>

</taskdef>

<jrcdestdir=".">

<src>

<filesetdir=".">

<includename="*.jrxml"/>

</fileset>

</src>

<classpathrefid="classpath"/>

</jrc>

</target>

</project>

jasperreport初级中文学习教程:[6]查看报告_jasperreport

我们可以使用net.sf.jasperreports.engine.JasperPrintManager类打印的JasperReports类库生成的文件(在他们的专有格式i.eJasperPrint对象)。这是依赖于Java2?API打印一个假象类。我们还可以打印文档,一旦JasperReport的文档导出为其他格式,如HTML或PDF。www.yiibai.com

下面的代码演示报表的打印。让我们更新现有的类JasperReportFill。我们将使用JasperPrintManager.printReport()方法。此方法需要源文件名.jrprint(这里我们通过我们在上一步生成的使用方法JasperFillManager.fillReportToFile())作为第一个参数。第二个参数是布尔值,用于显示标准打印对话框(我们将其设置为true这里)。

<?xml?version="1.0"?encoding="UTF-8"?>

<projectname="JasperReportTest"default="executereport"basedir=".">

<importfile="baseBuild.xml"/>

<targetname="executereport"

depends="compile,compilereportdesing,run">

<echomessage="Im?here"/>

</target>

<targetname="compilereportdesing"

description="Compiles?the?JXML?file?and

?????????produces?the?.jasper?file.">

<taskdefname="jrc"

classname="net.sf.jasperreports.ant.JRAntCompileTask">

<classpathrefid="classpath"/>

</taskdef>

<jrcdestdir=".">

<src>

<filesetdir=".">

<includename="*.jrxml"/>

</fileset>

</src>

<classpathrefid="classpath"/>

</jrc>

</target>

</project>

同为比较常用的报表工具,FineReport的报表查看和打印不需要编码实现,FineReport中所有的报表代码细节被隐藏,呈现出的是是可视化的设计过程。

在FineReport中,查看报表只需要点击?报表设计器中?的预览报表按钮,以分页预览为例,讲述一下FineReport中报表的查看效果和设置:

jasperreport初级中文学习教程:[6]查看报告_jasperreport

1.描述

分页预览即普通预览模式,FineReport的默认预览方式,一般在只需要查看报表数据用于分析的时候使用。

下面我们以内置的GettingStarted.cpt模板为例,来看看分页预览的使用方式以及其一些属性的设置。

2.分页预览

直接打开设计器,双击打开GettingStarted.cpt模板,点击设计器界面上的预览按钮访问报表,如下图:

注:该按钮下有三个预览方式可选:填报预览、数据分析和分页预览,默认方式为分页预览。

点击分页预览之后,在浏览器端就会打开一张报表,如下图:

3.分页预览设置

在设计器中点击模板>模板web属性>分页预览设置,就可以对分页预览界面进行设置,包括报表显示位置、页面和工具栏。

1.报表打印机制

各种打印的运行机制,都是选择打印时,先根据报表内容,在服务器的内存中将页面中的内容全部生成完毕,即生成对应格式的对象;然后再由serverlet直接推送给客户端,最后根据选择的打印方式打印出来。

2.报表打印方式

FineReport打印方式分为客户端打印和服务器端打印:

服务器端打印:使用报表应用所在的服务器,连接的打印机进行打印;

客户端打印:使用本地连接的打印机进行打印;又分为Flash打印、PDF打印以及Applet打印。

jasperreport初级中文学习教程:[6]查看报告_jasperreport

3.各打印方式的比较

为了更方便理解各打印方式,下面列出现有报表的各打印方式的对比说明。

4.各打印方式的优缺点对比

5.各打印方式的使用

5.1直接使用报表工具栏中的打印按钮

用户系统通常只需要一种打印方式,不需要所有打印方式按钮都显示出来,此时可以自定义报表工具栏。

jasperreport初级中文学习教程: 6 查看报告

选择模板>模板web属性>分页预览设置,选择为该模板单独设置,勾选工具栏,双击工具栏上的打印按钮或者选中打印按钮,点击设置(如果工具栏上没有打印按钮,则双击按钮框中的打印按钮,使之添加到工具栏中),选择需要显示的打印方式,如下图:

在各种预览方式旁有编辑工具栏设置按钮,或者在服务器>服务器配置中给所有模板统一设置:

注:如果不是在分页预览展示端打印,而是填报预览展示端打印,则选择模板>模板web属性>填报页面设置,其余设置相同。分析预览同理。

jasperreport初级中文学习教程:[6]查看报告_jasperreport

5.2自定义按钮调用打印方法

不用报表内置的工具栏,用户自定义按钮,通过js调用打印方法。详见js调用FR打印方法文档。

  

爱华网本文地址 » http://www.413yy.cn/a/8104570103/303673.html

更多阅读

photoshop学习教程

photoshop学习教程——简介photoshop是一款强大的图片处理软件,用它强大的功能,可以使我们达成很多目的。今天我就来教大家用ps去水印的方法。photoshop学习教程——工具/原料?psphotoshop学习教程——方法/步骤photoshop学习教程 1

五笔打字学习教程:1 初学五笔的疑问解答

五笔打字学习教程:[1]初学五笔的疑问解答——简介一步一步地教会你使用五笔输入法打字,最终成为打字高手。请看我的系列经验。五笔打字学习教程:[1]初学五笔的疑问解答——工具/原料五笔输入法五笔打字学习教程:[1]初学五笔的疑问解答

ERP入门经典学习教程

时间:2010-03-24 15:56来源:网络 作者:ERP入门 点击:1747次erp经典教程,erp教程,erp系统教程,erp学习教程erp教程erp系统教程erp学习教程erp视频教程

史上最牛最全面的闽南语学习教程

闽南语,或称闽南话(厦门、漳州、泉州一带常用这两个称呼,而台湾人多称其为台语)是我国重要方言之一,它保留了晋、唐时期中原官话的一些特点,有“古汉语活化石”的美誉,在古汉语中具有特殊地位。史上最牛最全面的闽南语学习教程学习语言最

易经学习教程六 周易占卜

易经学习教程(六)(作者:劝学网小雅)第五章 周易占卜一、什么是占卜占卜文雅一点称为预测,通俗一点就是算命。“卜”字的本意是用火烧灼老龟,由此而得到龟壳上的裂纹,并以此来判断吉凶。“占”字的本意是观察裂纹来得出事情的结论,也就是断卦

声明:《jasperreport初级中文学习教程: 6 查看报告》为网友緈諨分享!如侵犯到您的合法权益请联系我们删除