博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
jasperreport 通过javabean datasoource实现chart的报表
阅读量:5784 次
发布时间:2019-06-18

本文共 2342 字,大约阅读时间需要 7 分钟。

       继上次report的demo后,还在继续做着report方面的research,今天主要是实现了通过javabean datasource填充chart图表,通过webservice下载pdf格式的报表。

       开始这一段快乐之旅吧,首先我在包下定义了两个类分别是Student和Mark,Student类下有三个属性,他们分别是

 

private String name;private String number;private List mark;

Mark类下定义了两个属性

 

 

private String name;private double mark;

另外写了一个函数去获取student的列表List,这将是填充JavaBean的数据源

 

 

public List
getBeanData(){ List
listStudent = new ArrayList
(); Student student = new Student(); student.setName("cheng"); student.setNumber("01"); List
listMark = new ArrayList(); listMark.add(new Mark("销售", 100)); listMark.add(new Mark("IT", 139)); listMark.add(new Mark("s", 110.6)); listMark.add(new Mark("d", 120.4)); listMark.add(new Mark("e", 120)); student.setMark(listMark); listStudent.add(student); return listStudent; }

设计report chart报表

 

最后的任务是写webservice,打印出报表,贴主要的代码实现,有一些函数在上一篇文章中已经实现

 

public List
getBeanData(){ List
listStudent = new ArrayList
(); Student student = new Student(); student.setName("cheng"); student.setNumber("01"); List
listMark = new ArrayList(); listMark.add(new Mark("销售", 100)); listMark.add(new Mark("IT", 139)); listMark.add(new Mark("s", 110.6)); listMark.add(new Mark("d", 120.4)); listMark.add(new Mark("e", 120)); student.setMark(listMark); listStudent.add(student); return listStudent; } //javabean @Path("download/chart") @Produces(MediaType.TEXT_PLAIN) @Transactional public String downloadReportByJavaBean(@Context HttpServletRequest req , @Context HttpServletResponse res) throws Exception{ String designFilePath = req.getSession().getServletContext().getRealPath("/jasper") + File.separator + "chartreport.jrxml"; File designFile = new File(designFilePath); if(designFile.exists()){ JRBeanCollectionDataSource dataSource = new JRBeanCollectionDataSource(getBeanData()); JasperReport jasperReport = null; JasperDesign design = JRXmlLoader.load(designFile); jasperReport = JasperCompileManager.compileReport(design); JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport,null,dataSource); XLSReportProcess process = new XLSReportProcess(); process.exportWebReport(ReportProcess.Type.pdf, res, jasperPrint , "chart.pdf"); } return "success"; }

最后实现的效果是通过webservice自动下载pdf文档,内容显示

 

 

你可能感兴趣的文章
使用ASP.Net WebAPI构建REST服务——客户端
查看>>
20135220谈愈敏--信息安全系统设计基础第六周学习总结
查看>>
[转化率预估-1]引言
查看>>
CodeForces 734E Anton and Tree
查看>>
FZU 2184 逆序数还原
查看>>
Javascript[2] - prototype
查看>>
关于cpu
查看>>
安装windows10通用教程(数据无价,操作需谨慎)
查看>>
从点击Button到弹出一个MessageBox, 背后发生了什么
查看>>
微信小程序开发工具 常用快捷键
查看>>
P1005 矩阵取数游戏
查看>>
C++播放wav音乐和音效
查看>>
【JAVA集合框架一 】java集合框架官方介绍 Collections Framework Overview 集合框架总览 翻译 javase8 集合官方文档中文版...
查看>>
SpringMVC使用注解配置bean
查看>>
BZOJ1202 [HNOI2005]狡猾的商人
查看>>
改变Silverlight插件的下载url
查看>>
BZOJ 2002 LCT板子题
查看>>
python - 接口自动化测试 - contants - 常量封装
查看>>
asp.net easyui 动态绑定下拉框
查看>>
“小程序”初探
查看>>