报表 jasper + ireport5.6
下载 iReport-5.6.0,jdk7,以及众多lib , 这里我提供下资源(我的百度云)
安装好iReport-5.6.0和jdk7, 在安装目录的\etc\ireport.conf,修改其中的jdkhome为你的jdk7路径,并打开注解

打开 iReport,菜单栏的工具中的选项,在打开下面界面的classpath, 添加下面打勾的前面两个Jar包,最后一个文件夹是你项目编译出来的class

这里采用的是使用javabean来获取数据源,所以要建个实体类,和一个工厂类,并使用一个main方法去编译他们
package Dto; //实体类
public class Student {
private String username;
private String sex;
private String phone;
private String address;
private Integer age; public String getUsername() {
return username;
} public void setUsername(String username) {
this.username = username;
} public String getSex() {
return sex;
} public void setSex(String sex) {
this.sex = sex;
} public String getPhone() {
return phone;
} public void setPhone(String phone) {
this.phone = phone;
} public String getAddress() {
return address;
} public void setAddress(String address) {
this.address = address;
} public Integer getAge() {
return age;
} public void setAge(Integer age) {
this.age = age;
}
}
package Util; import Dto.Student; import java.util.ArrayList;
import java.util.List; //工厂
public class SampleJRDataSourceFactory {
public static List<Student> createBeanCollection() {
List<Student> students = new ArrayList<>();
for(int i = 0; i < 10; i++) {
Student student = new Student();
student.setUsername("name" + i);
if (i%2 == 0)
student.setSex("男");
else
student.setSex("女");
student.setAge(i + 10);
student.setAddress("ZheJian NingBo " + i + "号");
student.setPhone("1785888888" + i);
students.add(student);
}
return students;
}
}
package Util; import Dto.Student; import java.util.List; //调用编译
public class Test {
public static void main(String[] args) {
List<Student> studentList = SampleJRDataSourceFactory.createBeanCollection();
for (Student student : studentList) {
System.out.println(student.getUsername());
}
}
}
设置数据源,点击下面,创建javabean


选中后,设置好工厂的类的位置,和方法名,我的工厂类在util中

然后添加需要的参数

到这,javabean的前提配置都已好,关于ireport的一些使用可查看http://www.360doc.com/content/14/0611/22/4171006_385834700.shtml
注意事项:
对于pdf报表,有中文的属性要设置以下东西

pdf或者word想做表格,可为detai里的属性设置border, 右键点击padding and borders,设置line-width为1
生成jrxml后,就可已开始打印,代码打印可以看我的github项目
开发环境,idea,jdk7 (注:要设置好依赖路径)
报表 jasper + ireport5.6的更多相关文章
- Java开源报表Jasper入门(2) -- 使用JasperSoft Studio创建一个简单报表
在接下来的教程中,我们将实现一个简单的JasperReports示例,展现其基本的开发.使用流程.文章很长,不过是以图片居多,文字并不多. 实例中使用最新的Jasper Studio5.2进行报表设计 ...
- 打印信息,通过.jasper工具将集合输出到PDF文件 然后利用打印机打印文件
我们上一次成功的利用iReport工具制作了一张报表,并且预览了报表最后的效果,也生成了格式为“jrpxml”.“jrxml”与“jasper”的文件.这次,我们使用jasper提供的java的api ...
- 2019-04-10 集成JasperReport
1. 报表的制作过程为 ① 制作.jrxml报表模板文件,并编译成.jasper ② 代码处理.jasper文件并填充数据进行输出 2. 一开始是打算使用iReport作为模板制作工具的,但是有以下局 ...
- ireport5.6+jasperreport6.3开发(五)--以javabean为基准的报表开发(action关联)
这里的是定方法主要参照sturts2-jasperreport-plugin的完成方法(其实就是抄的) PDF的样子是这样的两页的pdf 然后action的配置是这样的(不要在意格式) @Parent ...
- Jasper之table报表
这段时间用Jasper画报表,讲真的Jasper IDE真的很难用,网上找很久都没找到用table画的配置方法,以下是直接操作源码画table的方法,不用IDE一样可以做出来(不过样式还是得借助IDE ...
- 1.报表TIBCO Jaspersoft Studio工具教程入门--生成jrxml和jasper文件 然后拖拽到项目中 跟ireport一样
转自:https://blog.csdn.net/KingSea168/article/details/42553781 2. 在接下来的教程中,我们将实现一个简单的JasperReports示例,展 ...
- ireport5.6+jasperreport6.3开发(四)--以javabean为基准的报表开发(ireport)
javabean完成以后就是添加ireport的报表了 打开ireport的option然后在classpath中添加路径. 然后在ireport中追加数据源如图,点击图标后会出现数据源列表然后按ne ...
- ireport5.6+jasperreport6.3开发(三)--以javabean为基准的报表开发(javabean)
这里只有ireport的开发没有web侧的程序. ireport的数据源可以说是多种多样,大致可以通过文件 数据库 bean类这三种方式,这里只介绍bean类 (数据库比较简单可参考其他的网站,文件没 ...
- Jasper报表 自动序列号
添加表达式:$V{REPORT_COUNT}.toString()
随机推荐
- jmeter断言:断言条件之间是“或”的关系
有时,我们在做断言时,需要同时满足一系列条件,这在jmeter自带响应断言中已经实现: 有时,同一请求在不同时间,返回的响应是不同的,而这都是正确的响应,也就是说,我们判断的条件之间是或的关系,此时, ...
- (转) Eclipse Maven 编译错误 Dynamic Web Module 3.1 requires Java 1.7 or newer 解决方案
场景:在导入Maven项目时候遇到如下错误. 1 问题描述及解决 Eclipse Maven 开发一个 jee 项目时,编译时遇到以下错误:Description Resource Path Loca ...
- Keras Xception Multi loss 细粒度图像分类
作者: 梦里茶 如果觉得我的工作对你有帮助,就点个star吧 关于 这是百度举办的一个关于狗的细粒度分类比赛,比赛链接: http://js.baidu.com/ 框架 Keras Tensorflo ...
- Web聊天应用中的表情插件
聊天应用中的表情插件 用于即时聊天应用的图片表情插件,具有展示表情.插入表情和表情编解码的功能 项目地址 看代码 看demo 原理介绍 web端的即时聊天中看到的表情,其实就是一张张表情图片,通过im ...
- ++i,i++和i += 1的区别
++i,i++和i += 1的区别 单条语句:i++;.++i;和 i += 1;等价. int i = 0; ++i; // 或者i++;或者i += 1; cout << i < ...
- Hibernate批量操作(二)
Hibernate提供了一系列的查询接口,这些接口在实现上又有所不同.这里对Hibernate中的查询接口进行一个小结. 我们首先来看一下session加载实体对象的过程:Session在调用数据库查 ...
- Java中容器的两种初始化方式比较
List,Set,Map的两种初始化赋值方式 List List<Integer> list2 = new ArrayList<Integer>(); for (int i= ...
- NYOJ 66 分数拆分
分数拆分 时间限制:3000 ms | 内存限制:65535 KB 难度:1 描述 现在输入一个正整数k,找到所有的正整数x>=y,使得1/k=1/x+1/y. 输入 第一行输入一个 ...
- chrome地址栏命令
Chrome作为一个前端开发的标准浏览器,用来体验和测试日新月异的新特性,自然是没话说. 有些新特性是需要特意开启设置的,有很多浏览器的内置功能也是要通过命令来开启或者使用的. Chrome 有很多的 ...
- python学习之字符串(上)
字符串python 的字符串被划归为不可变序列这一类别,意味着这些字符串所包含的字符存在从左至右的位置顺序,并且他们不可以在原处修改. 字符串常量单引号 'spam'双引号 "spam& ...