转自:https://wenku.baidu.com/view/104156f9770bf78a65295462.html
    第一部分,下载与安装 Ireport官网:http:// jasperforge.org/,从这里可以下载到
    下载后的文件名 安装:没什么注意的,一路回车就好了
    第二部分,ireport与JasperReport简单说明
    1, ireport,是一个制作报表的工具,用其设计报表样式
    2, JasperReport,是在程序里操作ireport报表的一套类库
    先简单介绍,以下详细说明
    第三部分,使用ireport制作报表 以ireport3.7.6为例,依次选择 “文件 –》New…” 出现下图
    image.png
    在接下来出现的对话框中选择保存位置就好了。
    建好的报表分这样几个部分,下面依次说明
    Title : 报表标题,也就是在报表首页出现的
    Page Header : 报表每页的页头,Page Footer页脚
    Column Header : 列头, Column Footer 列脚
    Detail : 对数据源进行循环显示
    Summary : 汇总,也就是在报表最后一页出现的
    不需要的部分可以在ireport左边删掉,如下图示
    image.png
    接下来以Oracle数据库的scott用户中DEPT表为例,制做一个简单的报表
    1, 设置报表语言
    在报表边缘外单击,在ireport右边的属性面板中找到Language属性,设置为Java,如下图示
    image.png
    1, 以数据库为报表的数据源,显示简单的报表
    首先,把oracle的jdbc驱动引到ireport里,具体做法为:点击:工具-》选项,找到Classpath选项卡,按下图操作
    找到oracle的JDBC,添加进来就好了
    然后,点击ireport工具栏上的这个按钮在弹出的窗口中点new按向导,建一个数据源,注意,这个数据源我们在ireport里设计报表用的,与程序并没有关系
    接下来点工具栏上这个在弹出的窗口中写查询语句,如下图示
    image.png
    点OK后,在ireport左边的面板上Fields下边就有了sql所查出来的列,如图
    image.png
    现在只要把Fields下边的,将来要显示字段拽到报表设计器中上Detail部分,就好了,
    注意:把Field拽到Detail中后,在Column Header会自动出现对应的列头,只要双击,就可以写中文了
    接下来从ireport右边的组件面板中找到Static Text控件,拽到Title里,双击就可以输入文字,结果如下
    image.png
    注意:这里所有的Static 和 Field,需要在右边的属性面板中,逐一设置两个属性,如图
    image.png
    这是为了将来把报表集成到程序里之后,让其在页面上显示中文
    点击
    image.png.
    就可以看到结果

    一般查询都是有条件的,刚才写的sql是查全部的,现在写带查询条件的sql,具体做法为:
    在ireport窗口左边的面板里,找到Parameters右击,添加Parameter,如图
    image.png
    选中刚才添加的这个参数,在右边的属性面板中给其设置名字,比如叫parDname
    修改刚才写的sql为这样的
    image.png
    简单说明红色的部分:在ireport里,用$P{参数名}来取参数,这个参数以后可以从程序里传进来,上边的 $P!{parDname},多了一个!号,表示,把接来的参数作为字符串拼到sql中,如果去掉!号,写成$P{parDname},就表示SQL参数,相当于在JDBC中写 select from dept where dname like ?
    这样就创建了带条件的查询
    1, 使用Variable(变量)做简单的汇总
    以统计查询结果的总条数,和总人数为例
    :在scott的dept表里没人部门人数一列,在此用部门编号来代替
    在ireport左边找到Variables点右键,添加两个Variable
    image.png
    添加后,在右边的属性面板分别给两个变量起名,varPcount(统计总人数),varRecordCount(统计总记录数)
    在属性面板上,对varPcount设置,如图
    image.png
    这几个属性一看就清楚其作用了,Reset type:Report是对事个报表做统计
    在Variable Expression里选择要统计的Field名,如图
    image.png
    在属性面板上,对varRecordCount配置,如图
    image.png
    在Calculation属性中,选择count,表示统计数量
    因为是数量,所以,Variable Expression里随便选一列就行
    对比:在没有分组过的sql里 select count(
    )和select count(deptno)的结果是一样的
    配置好好,将两个Variable从左边拽到报表中对应位置就好了,可参照下图
    image.png
    预览后就可以看到结果了
    1, 图表的显示,在此,以显示部门人数为例,做一个图表
    首先给报表添加一个数据集,操作如图示
    image.png
    起名为dsPcount
    按向导完成数据集的创建,之后配置数据集,给数据集添加参数,如图
    image.png
    起名为dsParDname
    在创建好的数据集上右键-》Edit Query,添加查询条件
    image.png
    然后在从右边的组件面板中拽一个Chart控件到Summary部分,选择一个样式后,点OK,在接下来的向导中,第一步选择刚创建的数据集,dsPcount,第二步中,选择Key,Value,
    分别写两个按钮,选择要显示的键和值
    完成后,在生成的图表上右键-》Chart Data,在DataSet标签上下边做如下配置
    image.png
    在Parameters标签中这样配置
    image.png
    在Dataset parameters name,选择数据集的参数,在Value expression里,选择主报表定义的参数
    在Detail标签中,这样配置
    image.png
    这样,显示图表的操作就完成了,预览就可以看到效果了