Java开源报表JasperReport、iReport4.5.1使用详解(三)

2024-05-16 01:32

本文主要是介绍Java开源报表JasperReport、iReport4.5.1使用详解(三),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

前几节讲解了iReport的常见的应用,本节讲解一个比较实用的功能,实用JavaBean作为数据源,并结合Struts2来运行。并生成XML、HTML、PDF、XLS文档。

一、用iReport新建一个报表文件

①  前面的步骤省略,不再重复。跟着向导到Query这的时候,选择NewConnection

 

②选择JavaBeans set datasource

③选择Next,设置一个name 下面的不用管他。

二、设置classpath

添加我们的JavaBean到classpath里面。

三、设置数据源

①选择JavaBean Datasource

输入Class name 然后单击 Read attributes

②选择需要的字段,Add selected field 即可。

在上一步中,有可能出现Read attributes,读取不出来属性的情况,一般请检查下面两点:a).Class 是不是选对了

       b).检查classpath

③进行报表设计,排列好字段。这步骤,前面的几节有详细的介绍。

四、和Struts2 整合

我们的iReport的数据源,这里取一个List集合,这个List集合,我们从Struts2中获取。

①导入所需jar包

 前面几节有介绍,再次不再赘述,需要注意的是,导入Jar包的时候要避免冲突

②配置Struts2配置文件


<packagename="test"namespace="/report"extends="struts-default,jasperreports-default">
<actionname="toHtml"class="totalViewAction"method="listTotalView">
<resultname="success"type="jasper">
<paramname="location">/web/report/groupScore/countView.jasper</param>
<paramname="dataSource">listTotaltView</param>
<paramname="format">HTML</param>
</result>
<resultname="error">/error.jsp     
</result>
<resultname="input">/error.jsp     
</result>
</action>
<actionname="toPdf"class="totalViewAction"method="listTotalView">
<resultname="success"type="jasper">
<paramname="location">/web/report/groupScore/countView.jasper</param>
<paramname="dataSource">listTotaltView</param>
<paramname="format">PDF</param>
</result>
<resultname="error">/error.jsp     
</result>
</action>
<actionname="toXml"class="totalViewAction"method="listTotalView">
<resultname="success"type="jasper">
<paramname="location">/web/report/groupScore/countView.jasper</param>
<paramname="dataSource">listTotaltView</param>
<paramname="format">XML</param>
</result>
<resultname="error">/error.jsp     
</result>
</action>
<actionname="toXls"class="totalViewAction"method="listTotalView">
<resultname="success"type="jasper">
<paramname="location">/web/report/groupScore/countView.jasper</param>
<paramname="dataSource">listTotaltView</param>
<paramname="format">XLS</param>
</result>
<resultname="error">/error.jsp     
</result>
</action>
</package>

配置文件详解:
location:指定jasper的地址
dataSource:指定数据源的名称,即Struts2的Action里面的List集合
format:生成的报表的格式

 

<actionname="toPdf"class="totalViewAction"method="listTotalView">
<resultname="success"type="jasper">
<paramname="location">/web/report/groupScore/countView.jasper</param>
<paramname="dataSource">listTotaltView</param>
<paramname="format">PDF</param>
</result>
<resultname="error">/error.jsp     
</result>
</action>

extends后面需要添加jasperreports-default

<packagename="test"namespace="/report"extends="struts-default,jasperreports-default">


.表格的使用。

①将表格组件拖入报表中,如图所示:

 

本人使用的例子如下:

Summary部分,显示的就是表格!

②新建dataset、设定table的列数

 

下一步

 

这里有两种选择,可以手动输入Sql语句,也可以Design query,来设计查询语句。

如图所示:

 

 

下一步,选择需要的Fields,

选择分组信息,也可以后面设计报表的时候添加。

 

自此,dataset已经设置完毕!如图所示:

 

点击完成之后,自动跳转到了Table1选项卡,

页面如下所示:

切换到Table 1 选项卡

③设计出如图所示的表格。

这里最后面有个统计字段,

就是统计各单位的所有人数,方法如下,expression如下:


$F{unitAthleteView_manAthlete}+$F{unitAthleteView_femalAthlete}+$F{unitAthleteView_guide}+$F{unitAthleteView_coach}+$F{unitAthleteView_teamDoctor}

注意:默认的,表格是没有边框的,想要添加边框的话,请手动添加边框:具体操作如下:

选择所有的Static Text Text Field

右键选择Padding Add Borders

设置如下参数即可。

最后预览效果如图示:

这篇关于Java开源报表JasperReport、iReport4.5.1使用详解(三)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/993489

相关文章

java流操作对文件的分割和合并

学习文件的输入输出流,自己做一个小的示例,对文件进行分割和合并。     下面是代码: <span style="font-size:14px;">package com.dufy.file;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import

java 通过Ajax前台传参数 并用 HttpURLConnection Post方式访问对外的接口

前两天做项目遇到一个问题,就是在自己的项目中要去访问项目外部的接口,从自己的项目中传参数过去,通过调用 对方提供的接口去获取想要得到的数据!第一次接触到在自己项目中去访问和调用外部的资源,然后在网上去找资料,看有没有相关的资料可以参考,然后通过参考其他人的博客资料,最终把这个问题解决了。自己总结一下这个过程,也供遇到相同或者类似问题的朋友可以快速的定位和解决问题。      下面讲一下我

javaweb学习-jstl-c:forEach中 varStatus的属性简介

varStatus是<c:forEach>jstl循环标签的一个属性,varStatus属性。就拿varStatus=“status”来说,事实上定义了一个status名的对象作为varStatus的绑定值。该绑定值也就是status封装了当前遍历的状态,比如,可以从该对象上查看是遍历到了第几个元素:${status.count} 我们常会用c标签来遍历需要的数据,为了方便使用,varSta

javaweb—jstl如何循环List中的Map数据

第一种方式: 1:后台代码(测试) List<Map<String, Object>> list = new ArrayList<Map<String,Object>>();Map<String, Object> map = null;for (int i = 0; i < 4; i++) {map = new HashMap<String, Object>();map.put("id",

日志记录—Java中的日志——Java.util.logging、log4j、commons-logging

转载地址  http://blog.csdn.net/luoweifu/article/details/46495045 Java中给项目程序添加log主要有三种方式,一使用JDK中的java.util.logging包,一种是log4j,一种是commons-logging。其中log4j和commons-logging都是apache软件基金会的开源项目。这三种方式的区别如下: J

Spring AOP 实现监控方法执行的时间(统计service中方法执行的时间)

项目中有时候会遇到统计方法执行的时间,来对项目进行优化!下面是我自己在工作中遇到的问题,和我自己的解决方法。 要统计出项目中方法执行时间大于1秒的那些方法!我们的项目开发使用的是SpringMVC 那么首先想到使用 Aop Aspet 切面统计,那样子更加方便也高效。 1:打开切面!因为项目使用的SpringMVC,项目中的配置文件就配置的 <aop:aspectj-autoproxy pro

负载均衡—大型网站架构系列:负载均衡详解(上)

大型网站架构系列:负载均衡详解(上) 负载均衡(上) 面对大量用户访问、高并发请求,海量数据,可以使用高性能的服务器、大型数据库,存储设备,高性能Web服务器,采用高效率的编程语言比如(Go,Scala)等,当单机容量达到极限时,我们需要考虑业务拆分和分布式部署,来解决大型网站访问量大,并发量高,海量数据的问题。 从单机网站到分布式网站,很重要的区别是业务拆分和分布式部署,将应

java学习—null和isEmpty 区别

String fly1 = new String(); String fly2 = ""; String fly3 = null; 解释如下: 此时fly1是分配了内存空间,但值为空,是绝对的空,是一种有值(值存在为空而已) 此时fly2是分配了内存空间,值为空字符串,是相对的空,是一种有值(值存在为空字串) 此时fly3是未分配内存空间,无值,是一种无值(

javaWeb学习—getRequestURI,getRequestURL等的学习

我使用的是SpringMVC框架,做一个小的例子,说明一下对这个内容的学习和理解! 1:我的项目名称为 dufyun_SpringMVC  2:我测试的地址为 ${pageContext.servletContext.contextPath}/testName 3;后台获取的代码为: @RequestMapping(value="/testName",method=Req

java基础—java中使用final关键字的总结

有时候我,们希望某些东西是亘古不变的,可以使用final关键字完成这个重任! final学习总结: 1:final + 属性 如果属性是基本数据类型(byte 字节型short 短整型int 普通整型char 字符型float 浮点型long 长整型double 双精度),则变为常量,其值不能被更改;如果属性是引用类型,则引用地址不能被更改。(final 修饰一个对象,那么这个对象的引用地址