jasperreport 通过javabean datasoource实现chart的报表
2013-10-29 21:52
369 查看
继上次report的demo后,还在继续做着report方面的research,今天主要是实现了通过javabean datasource填充chart图表,通过webservice下载pdf格式的报表。
开始这一段快乐之旅吧,首先我在包下定义了两个类分别是Student和Mark,Student类下有三个属性,他们分别是
Mark类下定义了两个属性
另外写了一个函数去获取student的列表List,这将是填充JavaBean的数据源
设计report chart报表
![](http://img.blog.csdn.net/20131029174456093?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQva2V3aW5fZWR3YXJk/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
最后的任务是写webservice,打印出报表,贴主要的代码实现,有一些函数在上一篇文章中已经实现
最后实现的效果是通过webservice自动下载pdf文档,内容显示
开始这一段快乐之旅吧,首先我在包下定义了两个类分别是Student和Mark,Student类下有三个属性,他们分别是
private String name; private String number; private List<Mark> mark;
Mark类下定义了两个属性
private String name; private double mark;
另外写了一个函数去获取student的列表List,这将是填充JavaBean的数据源
public List<Student> getBeanData(){ List<Student> listStudent = new ArrayList<Student>(); Student student = new Student(); student.setName("cheng"); student.setNumber("01"); List<Mark> listMark = new ArrayList<Mark>(); 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<Student> getBeanData(){ List<Student> listStudent = new ArrayList<Student>(); Student student = new Student(); student.setName("cheng"); student.setNumber("01"); List<Mark> listMark = new ArrayList<Mark>(); 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文档,内容显示
相关文章推荐
- jasperreport 通过javabean datasoource实现chart的报表
- JasperReport + iReport 实现Java报表套打
- PHP通过PHP/JAVA Bridge调用JasperReport报表
- 通过ApplicationContextAwareSpring实现手工加载配置的javabean
- 通过ApplicationContextAwareSpring实现手工加载配置的javabean
- jasper报表通过Java生成pdf中文不显示的一种解决方案
- DEVExpress XtraReport报表制作过程中绑定数据源的XRControl对象在值为0时不显示功能,通过代码自动实现
- 开发者使用JasperReport——通过数据源生成报表
- JasperReport+iReport进行java报表开发
- 水晶报表(Crystal Report)通过Visual Studio 2010的WPF实现
- ireport制作jasperreport报表详细过程(包括jsp端代码实现)
- 水晶报表(Crystal Report)通过Visual Studio 2010的WPF实现
- JasperReport+iReport进行java报表开发
- Java开发实用工具及组件应用(JFreeChart、PDF组件-iText、jasper report报表、Maven)
- 【清楚理解后台利用ireport到处报表的原理】ireport制作jasperreport报表详细过程(包括jsp端代码实现)
- ireport+jasperreport开源报表中使用javabean作为数据源的详细实现过程
- java web jasperreport+ireport 实现多记录自动分页打印
- jasperReport+ireport实现报表导出和数据分析
- javaWeb+JasperReport报表开发简单实例
- 水晶报表(Crystal Report)通过Visual Studio 2010的WPF实现