本文主要介绍下我在工作中使用JasperReport的一些经验,顺便给自己也做个笔记。
关于JasperReport的介绍就不谈了,网上多了去了,不了解的朋友可以去Google下先,这里主要分享经验和技巧,避免一些网友走弯路。
1、关于iReport的使用
JasperReport的使用简单归结就是报表模板+数据填充。
数据填充一般分二种方式,一种方式是通过JDBC连接提供数据源,一种就是通过javaBean的集合提供数据源,可以根据自己的情况来选择。
iReport插件安装后,需要设置你在iReport里面使用的类的类路径,这个好多朋友在开始的时候找不到,截个图可以看看:
一般都是Add Folder,如果是已经打成Jar的可以直接选择Add Jar。
2、报表结尾的署名位置
一般报表最后都会有一行关于XXX填写啊,日期啊之类的用于确认或者一些辅助数据。
大家可能会直接放在Page Footer里面,这样打印出来的结果是这一行肯定会在页面底部,不能随着内容的长短来调整位置,哪怕你报表只有一行。jasperreport 教程这里分享个经验,你可以放到Summary里面,这样就可以根据Detail的长短来显示了。jasperreport 教程
3、子报表
关于子报表估计是好多网友关心的问题,因为大部分时间需要用到,可是关于这类的教程又太少了,这里我就介绍下如何使用子报表,内容参考了网上的一些资料.
准备工作:
1.主对象,就是报表要打印的对象,里面含一个List,这个需要用子报表来打印.
import java.util.List;
public class MainVO {
private String title;
private List<SubVO> subList;
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public List<SubVO> getSubList() {
return subList;
}
public void setSubList(List<SubVO> subList) {
this.subList = subList;
}
}
2.子报表对象
public class SubVO {
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
3.子报表数据集,测试数据
import java.util.ArrayList;
import java.util.List;
import net.sf.jasperreports.engine.JRDataSource;
import net.sf.jasperreports.engine.data.JRBeanCollectionDataSource;
public class SubFactory {
public static JRDataSource createDatasource() {
List<SubVO> list2 = new ArrayList<SubVO>();
SubVO svo1 = new SubVO();
svo1.setName("单位1");
SubVO svo2 = new SubVO();
svo2.setName("单位2");
SubVO svo3 = new SubVO();
svo3.setName("单位3");
SubVO svo4 = new SubVO();
svo4.setName("单位4");
list2.add(svo1);
list2.add(svo2);
list2.add(svo3);
return new JRBeanCollectionDataSource(list2);
}
}
本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/ruanjian/article-30895-1.html
有关祖国领土完整问题
可见我们今天的科技现实