报表 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()
随机推荐
- 回味Python2.7——笔记3
一.错误和异常 1.异常处理 >>> while True: ... try: ... x = int(raw_input("Please enter a number: ...
- strtok函数 分类: c++ 2014-11-02 15:24 214人阅读 评论(0) 收藏
strtok函数是cstring文件中的函数 strtok函数是cstring文件中的函数 其功能是截断字符串 原型为:char *strtok(char s[],const char *delin) ...
- Json 工具介绍 fastjson gson jackson
1. fastjson fastjson是一个Java语言编写的高性能功能完善的JSON库.它采用一种“假定有序快速匹配”的算法,把JSON Parse的性能提升到极致, 是目前Java语言中最快的J ...
- 拓扑排序下的有无环判定 STL方法
bool canFinish(int numCourses, vector<pair<int, int>>& prerequisites) { vector<se ...
- 用于NLP的CNN架构搬运:from keras0.x to keras2.x
本文亮点: 将用于自然语言处理的CNN架构,从keras0.3.3搬运到了keras2.x,强行练习了Sequential+Model的混合使用,具体来说,是Model里嵌套了Sequential. ...
- swift3.0 UITableView侧滑支持多选项
func tableView(_ tableView: UITableView, editActionsForRowAt indexPath: IndexPath) -> [UITableVie ...
- NYOJ--STL--擅长排列的小明(强大的string :: iterator 和next_permutation)
NYOJ--STL--擅长排列的小明 #include <iostream> #include <string> #include <algorithm> usin ...
- 菜鸟的 Sass 学习笔记
介绍 sass 是什么?? 在sass的官网,它是这么形容给自己的 Sass is the most mature, stable, and powerful professional grade C ...
- angular学习(四)-- Controller
1.4 控制器:Controller ng 中的控制器用来对 scope 进行操作 包括初始化数据和定义事件响应函数等 ng 用来解耦业务逻辑层和视图层的关键 controller 操作 scope, ...
- Vue内容分发slot
前面的话 为了让组件可以组合,需要一种方式来混合父组件的内容与子组件自己的模板.这个过程被称为 内容分发 (或 “transclusion” ).Vue实现了一个内容分发 API,参照了当前 Web ...