一.简介:
JasperReport是一个开源的java报表制作引擎,ireport是jasperReport的一个GUI工具。我们先使用ireport制作报表的样式,ireport会给我们产生个后缀名为jrxml的文件,然后我们通过java代码向这个模版填充数据,再然后显示出来,它支持输出的文件格式包括PDF,HTML,XHTML,EXCEL等等…一个典型的jrxml文件会包含以下元素:
<Title>: 每个报表一般会有一个名字.
<pageHeader>: 报表的公共要素, 比如页码,创建时间,创建人等信息一般放置在这里.
<columnHeader>: 放列的名称.
<detail>: 放置需要循环输出的数据.
<columnFooter>: 列级别的统计计算值或是列的说明.
<pageFooter>: 放置页级别的统计值或是页的说明.
<lastPageFooter>: 最后一页特殊的格式, 可以放置总结.
<summary>: 只在最后一页才出现.
二.案例:
jasperReport支持多种数据源,下面使用javaBean作为数据源讲解一个简单的例子。
1. java代码
/**
* 部门实体
* @author Hewei
*
*/
public class Department {
private String name; //部门名称
private List<Staff> staffs; //员工集合
public Department(){}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public List<Staff> getStaffs() {
return staffs;
}
public void setStaffs(List<Staff> staffs) {
this.staffs = staffs;
}
}
/**
* 员工实体
* @author Hewei
*
*/
public class Staff {
private String name; //姓名
private String sex;//性别
public Staff(){}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
}
现在我们已经有个两个存在依赖关系的实体对象,我们要做的就是在一张pdf报表上显示部门名极其以下的员工的信息。 我们还需要一个静态方法向部门实体填充数据,如下…
/**
* 数据工厂
* @author HEWEI
*
*/
public class Factory {
/**
*
* @return
*/
public static List<Department> returnData(){
Staff staff1 = new Staff();
staff1.setName("关羽");
staff1.setSex("男");
Staff staff2 = new Staff();
staff2.setName("张飞");
staff2.setSex("shit");
Staff staff3 = new Staff();
staff3.setName("刘备");
staff3.setSex("男");
List<Department> departments = new ArrayList<Department>();
Department department = new Department();
department.setName("研发部");
List<Staff> staffs = new ArrayList<Staff>();
staffs.add(staff1);
staffs.add(staff2);
staffs.add(staff3);
departments.add(department);
return departments;
}
}
然后我们用javabean 作为报表数据源,我觉得这样是符合mvc规范的,
然而使用sql 查的话, 很麻烦, 要是遇到了 需要 几十张表数据的报表 ,
写sql 很难实现。
详细在附件中
分享到:
相关推荐
JasperReport+IReport开发Java报表入门
JasperReport+iReport报表开发手册.pdf
Struts2.0+JasperReport+IReport+Oracle 报表开发 整个项目打包上传,用MyEclipse导入即可调试使用 含报表文件、数据库表结构及测试数据,项目中解决了PDF中文不显示问题
Struts2.0+JasperReport+IReport+Oracle 报表开发 整个项目打包上传,用MyEclipse导入即可调试使用 含报表文件、数据库表结构及测试数据,项目中解决了PDF中文不显示问题
Struts2.0+JasperReport+IReport+Oracle 报表开发整个项目打包上传,用MyEclipse导入即可调试使用含报表文件、数据库表结构及测试数据,项目中解决了PDF中文
它有一个相关的开源工程--IReport,这是一个图形化的辅 助工具,主要用于数据报表设计。JasperReports 完全是由 Java 写成,可以应用于 Java 的应用 程序,包括 J2EE,Web 应用程序中生成动态内容,它主要目的是辅助...
学习完jasperreports+ireport,给我感觉深刻,不仅掌握了报表开发技术,还掌握了如何在web中生成pdf,xls,rtf文件,以下是jasperreports+ireport开发知识点: 1.字段,变量,参数,传参 2.矢量图,位图 3.超链接,锚 4.数据源,...
JasperReport+iReport整合的Web报表开发这篇文章的PDF版本
JasperReport+iReport报表工具详细开发手册.pdf
JasperReport+iReport 报表工具详细开发手册 (V 1.1) http://www.damiya.cn 2009-8-10
学习Jasperreport和ireport的好资料!
iReport是用于定义JasperReport报表的可视化工具,JasperReport使用XML来定义一个报表的结构,iReport可以让用户很方便地定义报表,而不需要手工去写这些XML文件。 iReport是为JasperReports设计的强大的,直观的,...
该工程下有ssh所需jar包,hicharts报表导出功能所需jar包,以及Jasperreport报表导出所需的jar包,主要是利用Jasperreport实现报表导出功能,可以完整跑通
-----iReport&JasperReport学习教程(PDF版)-----
iReport 4.0.1 导出Html和PDF报表完整例子
如何使用IReport制作JasperReport报表, 包含三份: 1.jasperreportireport中文指南.pdf 2.JasperReports结合iReport制作报表教程.pdf 3.the_definitive_guide_to_ireport.7759101961.pdf.
JasperReport 与 iReport 的配置与使用.pdf;作者:裴贺先 内容概况: 第一章:JasperReport 与 iReport 简介 第二章:安装与配置 第三章:iReport 的使用 第四章:JasperReport 在程序中的应用 第五章:参考信息及...
很好的ireport入门指导资料
大小10MB 两个doc文档 如何使用IReport3.5.1来制作报表模板.doc ireport图文教程.doc 两个pdf文档 iReport中文详细教程.pdf JasperReport+iReport报表工具详细开发手册.pdf