iReport连接数据库报表开发一

来源:互联网 发布:欧阳娜娜 知乎 编辑:程序博客网 时间:2024/05/21 09:32

1.下载iReport 官网下载地址 http://community.jaspersoft.com/download



2.新建一个窗口:

 安装完iReport后进入Welcome Window界面 ,点击文件、new、Blank A4、Open this Template后填写名字和磁盘地址 完成就创建了一个新的report:



3.连接Oracle:

点击数据库、new一个新的Oracle




点击Database JDBC Connection、next进入Connection连接界面:给连接起个Name,

JDBC Driver :选择连接的数据库类型,这里是Oracle;

JDBC URL:连接的数据库地址;

Username和Password是数据库的连接名和密码;

保存密码后点击Test测试是否连接上,连接上后Save




4.连接上数据库后 点击数据库在Report query中写上要查询的SQL语句点击OK,在Fields中就会显示出查询的字段:




5.查询出字段后就可编辑报表了:

        iReport报表页面介绍:  

title:只在报表的第一页显示,后面的就不在显示。

page header :相当于页眉,在第一页位于title的下面,而后的页中是位于最上部。

page footer :相当于页脚,和page header是想对应的。

detail :报表内容显示的部分,这部分内容是重复的,相当于迭代的过程。

column header :针对Detail Band 的表头段,一般情况下在这个段中画报表的表头

column footer :和column header 相对的。

summary :出现在整个报表的最后一页的detail的下面,统计总值结果。

左边和上边意思大致相同;

右边为窗口编辑框:如果没有可以选择页面有 窗口 、属性或组合面板等就可出现编辑框;



组合面板主要控件介绍:

Static Text:静态文本框,可以直接拖到页面上,给每个字段编辑名称用的(如图上的标题、单证号等);Text Field:字段文本框,可以在里面编辑  $F{字段},一定要按规范来 加$F{};

Line:线条、矩形框;

Image:图片框;

Table:表格;

Current data:时间框,从数据库获取的时间字段值 可能格式不一 ,拖出后可以选择显示时间的Type,

同时从Fields中拖出的时间格式不一,可以点击此字段框选择右边属性中的 Pattern 选择自己需要的格式;




6 .  在画好页面后 选择Preview预览页面是时  ,对于 选择PDF格式预览 会出现中文不显示的问题解决:

6.1 .报表对象有关字体属性的设置如下: 
Font name:         宋体 (中文字体) 
PDF font name:  STSong-Light ;
    PDF Encoding:   UniGB-UCS2-H(Chinese Siplified) ;
    PDF Embeded:  true (打钩);


6.2 . 官网下载JAR包iText-2.1.7.jar,iTextAsian.jar,在工具、选项、iReport、ClassPath、ADD JAR,将下载的JAR包加进去;

或者复制字体安装包在电脑上安装,同时在工具、选项、iReport、Fonts、Install Font将字体包加进去;



另外可以在iReport的安装目录如:E:\itext\iReport-5.6.0\ireport\modules\ext,
加入下面的JAR包:
iText-2.1.7.jar
iTextAsian.jar

将模板设置好中文后,编译后,重启项目,运行即可。

7. 附iReport其他操作属性:

7.1 . iReport函数:

例sum总计求和函数 ,在页面左边的Report Inspector中选中Variables添加一个重命名,选中其右侧属性,:Variable Class选择 java.math.BigDecimal等数据属性;然后选择Calculation:选择iReport自带的函数如SUM;

Reset type:Report;     Increment type:None;Variable Expression :选择想要操作(相加)的字段;




7.2  Text Field 属性框介绍:

7.2.1 属性之pattern : iReport时间字段 想要显示时间类型,可选择其属性pattern (可进去选择类型 ,也可在外面输入想要的类型)

如   yyyy/MM/dd hh:mm:ss 类型



7.2.1 属性之Blank When Null : 当某个字段为空时 报表上会显示Null,选择Blank When Null 当字段值为Null是就显示空;


1 0