转自:https://wenku.baidu.com/view/104156f9770bf78a65295462.html

第一部分,下载与安装 Ireport官网:http:// jasperforge.org/,从这里可以下载到

下载后的文件名 安装:没什么注意的,一路回车就好了

第二部分,ireport与JasperReport简单说明

1, ireport,是一个制作报表的工具,用其设计报表样式

2, JasperReport,是在程序里操作ireport报表的一套类库

先简单介绍,以下详细说明

第三部分,使用ireport制作报表 以ireport3.7.6为例,依次选择 “文件 –》New…” 出现下图

在接下来出现的对话框中选择保存位置就好了。

建好的报表分这样几个部分,下面依次说明

Title : 报表标题,也就是在报表首页出现的

Page Header : 报表每页的页头,Page Footer页脚

Column Header : 列头, Column Footer 列脚

Detail : 对数据源进行循环显示

Summary : 汇总,也就是在报表最后一页出现的

不需要的部分可以在ireport左边删掉,如下图示

接下来以Oracle数据库的scott用户中DEPT表为例,制做一个简单的报表

1,         设置报表语言

在报表边缘外单击,在ireport右边的属性面板中找到Language属性,设置为Java,如下图示

1,         以数据库为报表的数据源,显示简单的报表

首先,把oracle的jdbc驱动引到ireport里,具体做法为:点击:工具-》选项,找到Classpath选项卡,按下图操作

找到oracle的JDBC,添加进来就好了

然后,点击ireport工具栏上的这个按钮在弹出的窗口中点new按向导,建一个数据源,注意,这个数据源我们在ireport里设计报表用的,与程序并没有关系

接下来点工具栏上这个在弹出的窗口中写查询语句,如下图示

点OK后,在ireport左边的面板上Fields下边就有了sql所查出来的列,如图

现在只要把Fields下边的,将来要显示字段拽到报表设计器中上Detail部分,就好了,

注意:把Field拽到Detail中后,在Column Header会自动出现对应的列头,只要双击,就可以写中文了

接下来从ireport右边的组件面板中找到Static Text控件,拽到Title里,双击就可以输入文字,结果如下

注意:这里所有的Static 和 Field,需要在右边的属性面板中,逐一设置两个属性,如图

这是为了将来把报表集成到程序里之后,让其在页面上显示中文

点击

就可以看到结果

一般查询都是有条件的,刚才写的sql是查全部的,现在写带查询条件的sql,具体做法为:

在ireport窗口左边的面板里,找到Parameters右击,添加Parameter,如图

选中刚才添加的这个参数,在右边的属性面板中给其设置名字,比如叫parDname

修改刚才写的sql为这样的

简单说明红色的部分:在ireport里,用$P{参数名}来取参数,这个参数以后可以从程序里传进来,上边的  $P!{parDname},多了一个!号,表示,把接来的参数作为字符串拼到sql中,如果去掉!号,写成$P{parDname},就表示SQL参数,相当于在JDBC中写  select * from dept where dname like ?

这样就创建了带条件的查询

1,         使用Variable(变量)做简单的汇总

以统计查询结果的总条数,和总人数为例

:在scott的dept表里没人部门人数一列,在此用部门编号来代替

在ireport左边找到Variables点右键,添加两个Variable

添加后,在右边的属性面板分别给两个变量起名,varPcount(统计总人数),varRecordCount(统计总记录数)

在属性面板上,对varPcount设置,如图

这几个属性一看就清楚其作用了,Reset type:Report是对事个报表做统计

在Variable Expression里选择要统计的Field名,如图

在属性面板上,对varRecordCount配置,如图

在Calculation属性中,选择count,表示统计数量

因为是数量,所以,Variable Expression里随便选一列就行

对比:在没有分组过的sql里 select count(*)和select count(deptno)的结果是一样的

配置好好,将两个Variable从左边拽到报表中对应位置就好了,可参照下图

预览后就可以看到结果了

1,         图表的显示,在此,以显示部门人数为例,做一个图表

首先给报表添加一个数据集,操作如图示

起名为dsPcount

按向导完成数据集的创建,之后配置数据集,给数据集添加参数,如图

起名为dsParDname

在创建好的数据集上右键-》Edit Query,添加查询条件

然后在从右边的组件面板中拽一个Chart控件到Summary部分,选择一个样式后,点OK,在接下来的向导中,第一步选择刚创建的数据集,dsPcount,第二步中,选择Key,Value,

分别写两个按钮,选择要显示的键和值

完成后,在生成的图表上右键-》Chart Data,在DataSet标签上下边做如下配置

在Parameters标签中这样配置

在Dataset parameters name,选择数据集的参数,在Value expression里,选择主报表定义的参数

在Detail标签中,这样配置

这样,显示图表的操作就完成了,预览就可以看到效果了

4.ireport基本使用的更多相关文章

  1. ireport制作小技巧<Reproduce>

    首先ireport中大小写问题: 1.parameter中如果小写,引用也小写 2.$F{},一般都大写 3.子报表中引用父报表中查询出来的值时,只需要小写即可,即在子报表的parameter中只需要 ...

  2. jesperreport+ireport简单理解

    ireport:主要是生成报表模板 jesperreport:主要是用.jesper文件填充数据(jdbc.javabean)生成面向用户的文件(PDF.HTML等)

  3. ireport5.6+jasperreport6.3开发(四)--以javabean为基准的报表开发(ireport)

    javabean完成以后就是添加ireport的报表了 打开ireport的option然后在classpath中添加路径. 然后在ireport中追加数据源如图,点击图标后会出现数据源列表然后按ne ...

  4. windows下安装iReport 并确保启动正确

    突然从润乾转到iReport ,我也很蒙.突然离开了万能的客服,我心不甘.现在所有资料都要自己查找,只好做个记录.现在从安装开始说. 此时安装的最新版是5.6.0,要知道,网上大部分资料都是4.X,更 ...

  5. iReport 中使用 Chart 图

    iReport 中使用 Chart 图 SSH2项目中需要引入如下两个jar包: jfreechart-1.0.12.jar jcommon-1.0.15.jar 从 iReport 的安装目录下搜索 ...

  6. iReport 下载地址

    iReport 下载地址: https://osdn.jp/projects/sfnet_ireport/releases/# 来自为知笔记(Wiz)

  7. iReport 开发和运行所用版本不一致导致设置字体大小不起作用

    问题:开发环境使用 Win10 + iReport 5.6 ,运行环境使用 Win10 + iReport 5.2 ,设置字体的大小不起作用. 解决方法:开发环境和运行环境一致,都使用 iReport ...

  8. jasperreports+iReport制作报表笔记

    一. 准备工作 1. 下载相关工具:点击此下载相关工具,jasperreports-5.6.0-project.zip中有提供所需的jar包. 二. 安装ant 1. 解压apache-ant-1.9 ...

  9. 第一部分:使用iReport制作报表的详细过程(Windows环境下)

    提示:在有些板块,文中的图片看不到,建议到我的blog浏览文章:http://blog.csdn.net/jemlee2002/文章将会涉及3个方面的内容: 第一部分:使用iReport制作报表的详细 ...

  10. IReport问题整理

    1. 问题:IReport如何实现变量字段$F{ propertyName}赋值为一个NULL对象时不显示”null”, 而显示为空白? 解决方法:选中动态单元格,右键选择属性,在弹出对话框TextF ...

随机推荐

  1. Nginx-常用命令和配置文件

    Nginx常用命令 1.启动命令 在/usr/local/nginx/sbin 目录下执行 ./nginx 2.关闭命令 在/usr/local/nginx/sbin 目录下执行 ./nginx s ...

  2. 对vue的api的研究

    Vue.config 是一个对象,包含 Vue 的全局配置.可以在启动应用之前修改下列属性: silent 类型:boolean 默认值:false 用法: Vue.config.silent = t ...

  3. 【ElicitSearch】启动流程

    一.集群启动流程 1.选举主节点 许多节点启动,集群干的第一件事儿就是选主,之后的的流程由主节点触发. 先确定唯一的.大家公认的主节点:再想办法把最新的及其原数据复制到选举的主节点上. 选主是对Bul ...

  4. 如何从word中复制内容到网站后台编辑器中

    word图片转存,是指UEditor为了解决用户从word中复制了一篇图文混排的文章粘贴到编辑器之后,word文章中的图片数据无法显示在编辑器中,也无法提交到服务器上的问题而开发的一个操作简便的图片转 ...

  5. 【转】通过Nginx部署Django

    https://www.cnblogs.com/frchen/p/5709533.html Django的部署可以有很多方式,采用nginx+uwsgi的方式是其中比较常见的一种方式. 在这种方式中, ...

  6. 理解json和jsonp的定义和区别以及如何实际使用

    (一)什么是跨域请求? 首先要理解什么是跨域? 跨域是指一个域下的文档或脚本试图去请求另一个域下的资源,这里跨域是广义的. 其实我们通常所说的跨域是狭义的,是由浏览器同源策略限制的一类请求场景. 常见 ...

  7. “The creator of this fault did not specify a Reason” Exception

    “The creator of this fault did not specify a Reason” Exception if(!DidItPass) { InvalidRoutingCodeFa ...

  8. HTML5 新属性的讲解

    1.选择器: 标签选择器: class选择器: id选择器: 后代选择器:div li div下所有li 子代选择器:div>li div的所有子一代 li 元素 交集选择器:div.class ...

  9. redis主从与集群搭建

    redis搭建主从 条件:yum安装(3.2.1)与编译安装(5.0.0)都可以 环境:我这里在同一台主机上搭建,当然也可以两台. 1) 复制redis.conf的主配置文件并命令为slave.con ...

  10. 16/8/23_CSS自动换行

    转载:http://blog.csdn.net/ye987987/article/details/8011875   自动换行问题,正常字符的换行是比较合理的,而连续的数字和英文字符常常将容器撑大,挺 ...