45fan.com - 路饭网

搜索: 您的位置主页 > 网络频道 > 阅读资讯:使用jasperreport和iReport的方法

使用jasperreport和iReport的方法

2016-09-02 07:21:55 来源:www.45fan.com 【

使用jasperreport和iReport的方法

 

下载iReport-0.4.0 (图形化界面生成编辑修改报表的结构)

下载iTextAsian.jar (亚洲语言包,如果生成的报表中含有亚洲字符,则需要在classpath中添加该jar

下载jasperreports-0.6.1-project.zip(包含使用jasperreports的一些例子)

 

window下运行iReport/bin/startup.bat启动iReport

 

常见的问题

1、数据源:通常我们使用JDBC直接连接数据库或Custom DataSource

Custom Datasource是使用用户自定义的数据源来组织数据的方式,可以是excelcsv等文件形式,也可以是一个包含数据的类(以下简称数据类)。

 

2、在build菜单下选择报表的输出形式,比如PDF preview 就是输出成pdf文件,JRViewer Preview就是在ireport环境下的预览功能。注意在ireport环境下的效果和实际产生的具体文件的显示会有差异。

对包含中文的static text field text,在properties里需修改font为某种系统内的中文字体,PDF font name选择STSong_Light,选中PDF Embeded PDF EncodingUniGB-UCS2-H(Chinese simplified)。并且将iTextAsian.jar加入到ireportlib文件夹下,这样通过ireport产生的pdf文件就支持中文了。

 

3、在应用系统中产生的pdf文件不是通过ireport产生的,ireport只是用于编辑及预览报表形式,它产生*.jrxml文件,编译后产生*.jasper文件。通过在程序中调用JasperRunManager.runReportToPdfFile(String arg,Map param,JRDatasource datasource)方法,该方法的三个参数分别表示代表报表形式的.jasper文件位置arg,从外部传入的参数集合param,和数据类。

 

4$P{param_name}代表参数,{}内是参数的名称,在报表中设定后,在运行的时候通过从外部传入的参数来动态生成标题等数据,并且可以作为查询条件传入sql语句使用(如果是使用JDBC直接连接数据库的话)

$V{PAGE_NUMBER}代表当前页数,$V代表variable,对现有的group$V{groupname_COUNT}代表当前组的记录数

$F{Field_name}表示字段,是报表中最重要的部分。如果JDBC方式的连接,输入sql查询语句就可得到所有查询所得到的字段;如果是Custom Datasource方式,新建一字段,例如user_id。数据类中getFieldValue(JRField field)field就是报表中的$F{Field_name}。程序中根据JRField对象的name属性来确定返回哪个值

if("user_id".equals(field.getName()))return data[index][3] //代表返回当前行的第四个字段

 

5、如果出现evaluation time错误,只要从properties>text Field>Evaluation time再选择一次now即可

 

6、关于数据类。数据类要实现了JRDataSource的接口,nextgetFieldValue方法。next的功能相当于记录下移一行,getFieldValue的功能就是从jasper里面得到一个Field对象,然后通过字符串的比较来获得对应数据填充。

如果要在ireport里看到效果,必须有取得这个数据类的方法,通常的做法是构造XXXDataSourceFactory类,提供返回数据类的方法。该类在实际的应用程序中并不需要

例如: getTheDatasource(){return new XXXDatasource();}

 

 

7、打印当前时间的方法。增加一个filedtext expressionnew SimpleDateFormat("yyyy.MM.dd").format(new Date())

 

8、注意要勾选当数值为空时显示为空白

 

 

 

 

本文地址:http://www.45fan.com/a/question/71117.html
Tags: JasperReport iReport iReport-0.4.0
编辑:路饭网
关于我们 | 联系我们 | 友情链接 | 网站地图 | Sitemap | App | 返回顶部