Ireport介绍
Jasperreport是报表打印工具,支持pdf、csv多种格式的报表打印。
JasperReport是一个开源的工具包,将JasperReport包加入到项目的classpath中即可开始使用JasperReport包了,从java程序中通过调用包中的类对jrxml文件进行操作,可以完成报表的编译、显示、输出等工作;
1)利用ireport图形编辑工具,iReport是报表编辑图形工具,编辑完成后输出jrxml文件(XML格式), 生成jasper文件(以.jasper结尾);
2)直接利用java代码编译生成jasper文件(以.jasper结尾)。
最终要使用的是编译后的*.jasper文件。
Jasperreport支持多种数据源,包括xml、数据库、JavaBean等多种数据源。
JAVA代码
Controller
@RequestMapping("/printReport.do")
public void printReport(@RequestParam("dataList")String dataList,HttpServletResponse response,HttpServletRequest request) throws IOException {
//TODO:解析json字符串,导出pdf
//解析字符串
JSONArray json = JSONArray.fromObject(dataList);
JsonConfig jsonConfig = new JsonConfig();
//设置过滤信息
jsonConfig.setIgnoreDefaultExcludes(true);
jsonConfig.setExcludes(new String[] {
"end_time","start_time"});
jsonConfig.setRootClass(WyfeeCostDetailPO.class);
//展示数据
List<WyfeeCostDetailPO> wyfeeCostDetailPOs= new ArrayList<WyfeeCostDetailPO>();
for (Object object : json) {
WyfeeCostDetailPO wyfeeCostDetailPO =
(WyfeeCostDetailPO) JSONObject.toBean(JSONObject.fromObject(object,jsonConfig),WyfeeCostDetailPO.