Jasperreports+jaspersoft studio学习教程(十)- 多数据源的Chart图表

本文主要是介绍Jasperreports+jaspersoft studio学习教程(十)- 多数据源的Chart图表,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

本篇介绍Chart图表。注入多数据源(学会使用DataSet)

 

10.1 设计报表模板

10.1.1 新建模板demo14.jrxml,只保留Title、Detail。新建两个Parameters:userList(java.util.List)、employeeList(java.util.List)。




10.1.2 新建两个空Dataset:Dataset1、Dataset2。模板右键 -> Create Dataset。




10.1.3 在Dataset中新建Fields如图:




10.1.4 在组件面板中拖动 Chart组件到Detail Band中,跳出Chart Wizard窗口,选中饼状图。




10.1.5 Next后,Dataset选中 Dataset1,Use a JRDatasource expression 。




在Exception Editor写值为

newnet.sf.jasperreports.engine.data.JRBeanCollectionDataSource($P{userList})




10.1.6 添加一个 Series,选中$F{userName},即设定key为  $F{userName}。




设定 value的值为 $F{age},Label需要String类型的值。Finish完成


10.1.7 显示 饼图的Properties.选中 Chart,设置图表Title




10.1.8 选中 Chart Plot ,设置 show Label




饼图表完成。

 

10.1.9 拖动一个柱状图到 Detail Band中。添加两个Series对象




10.1.10 设置Dataset 为 Dataset2,且Exception Editor写值为newnet.sf.jasperreports.engine.data.JRBeanCollectionDataSource($P{employeeList})




10.1.11 选中Series 为 “工龄(年)”,设置key和Value如图:




10.1.12 选中 Series 为 “月薪(K)”,设置key和Value如图:




10.1.13 设置柱状图的标题




10.1.14 设置show Label 




设置 Category Axis




设置 Value Axis




设置 Item Label


柱状图完成。设计模板如下:



保存后拷贝到项目中。

 

10.2 编写代码注入数据源

使用图表需要加jfreechart的jar包



10.2.1 新建 Employee类

public class Employee {private Integer id;private String empName;private Integer workingYears;private Double monthlySalary;//get、set方法省略}

10.2.2 新建Servlet ,doGet如下:

 


protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {Map<String,Object> parameters = new HashMap<String,Object>(16);String jrxmlPath = request.getServletContext().getRealPath("/")+"/jrxml/demo14.jrxml";//由jrxml文件编译后生产jasper文件的路径String jasperPath = request.getServletContext().getRealPath("/")+"/jasper/demo14.jasper";FileInputStream isRef = null;ServletOutputStream sosRef = null;try {//编译jrxml生产jasper文件JasperCompileManager.compileReportToFile(jrxmlPath, jasperPath);isRef = new FileInputStream(new File(jasperPath));sosRef = response.getOutputStream();//组装list数据源List<User> userlist = new ArrayList<User>();User user1 = new User(1,"小明",15,1);User user2 = new User(2,"小虎",28,1);User user3 = new User(3,"小风",24,2);User user4 = new User(4,"小东",18,2);User user5 = new User(5,"小南",32,3);User user6 = new User(6,"小翔",38,3);userlist.add(user1);userlist.add(user2);userlist.add(user3);userlist.add(user4);userlist.add(user5);userlist.add(user6);List<Employee> emplist = new ArrayList<Employee>();Employee emp1 = new Employee(1,"小宇",3,8.0);Employee emp2 = new Employee(2,"小方",2,6.5);Employee emp3 = new Employee(3,"小志",5,15.0);Employee emp4 = new Employee(4,"小刚",6,15.0);Employee emp5 = new Employee(5,"小希",8,20.0);Employee emp6 = new Employee(6,"小文",10,18.0);emplist.add(emp1);emplist.add(emp2);emplist.add(emp3);emplist.add(emp4);emplist.add(emp5);emplist.add(emp6);parameters.put("userList", userlist);parameters.put("employeeList", emplist);JasperRunManager.runReportToPdfStream(isRef, sosRef, parameters, new JREmptyDataSource());response.setContentType("application/pdf");} catch (JRException e) {e.printStackTrace();}finally {sosRef.flush();sosRef.close();}}

10.2.3 启动tomcat,并访问servlet如下:




博客教程word版,已上传,需要请下载。



这篇关于Jasperreports+jaspersoft studio学习教程(十)- 多数据源的Chart图表的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/465025

相关文章

springboot使用Scheduling实现动态增删启停定时任务教程

《springboot使用Scheduling实现动态增删启停定时任务教程》:本文主要介绍springboot使用Scheduling实现动态增删启停定时任务教程,具有很好的参考价值,希望对大家有... 目录1、配置定时任务需要的线程池2、创建ScheduledFuture的包装类3、注册定时任务,增加、删

Java学习手册之Filter和Listener使用方法

《Java学习手册之Filter和Listener使用方法》:本文主要介绍Java学习手册之Filter和Listener使用方法的相关资料,Filter是一种拦截器,可以在请求到达Servl... 目录一、Filter(过滤器)1. Filter 的工作原理2. Filter 的配置与使用二、Listen

如何为Yarn配置国内源的详细教程

《如何为Yarn配置国内源的详细教程》在使用Yarn进行项目开发时,由于网络原因,直接使用官方源可能会导致下载速度慢或连接失败,配置国内源可以显著提高包的下载速度和稳定性,本文将详细介绍如何为Yarn... 目录一、查询当前使用的镜像源二、设置国内源1. 设置为淘宝镜像源2. 设置为其他国内源三、还原为官方

Maven的使用和配置国内源的保姆级教程

《Maven的使用和配置国内源的保姆级教程》Maven是⼀个项目管理工具,基于POM(ProjectObjectModel,项目对象模型)的概念,Maven可以通过一小段描述信息来管理项目的构建,报告... 目录1. 什么是Maven?2.创建⼀个Maven项目3.Maven 核心功能4.使用Maven H

SpringBoot多数据源配置完整指南

《SpringBoot多数据源配置完整指南》在复杂的企业应用中,经常需要连接多个数据库,SpringBoot提供了灵活的多数据源配置方式,以下是详细的实现方案,需要的朋友可以参考下... 目录一、基础多数据源配置1. 添加依赖2. 配置多个数据源3. 配置数据源Bean二、JPA多数据源配置1. 配置主数据

IDEA自动生成注释模板的配置教程

《IDEA自动生成注释模板的配置教程》本文介绍了如何在IntelliJIDEA中配置类和方法的注释模板,包括自动生成项目名称、包名、日期和时间等内容,以及如何定制参数和返回值的注释格式,需要的朋友可以... 目录项目场景配置方法类注释模板定义类开头的注释步骤类注释效果方法注释模板定义方法开头的注释步骤方法注

Python虚拟环境终极(含PyCharm的使用教程)

《Python虚拟环境终极(含PyCharm的使用教程)》:本文主要介绍Python虚拟环境终极(含PyCharm的使用教程),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,... 目录一、为什么需要虚拟环境?二、虚拟环境创建方式对比三、命令行创建虚拟环境(venv)3.1 基础命令3

使用Node.js制作图片上传服务的详细教程

《使用Node.js制作图片上传服务的详细教程》在现代Web应用开发中,图片上传是一项常见且重要的功能,借助Node.js强大的生态系统,我们可以轻松搭建高效的图片上传服务,本文将深入探讨如何使用No... 目录准备工作搭建 Express 服务器配置 multer 进行图片上传处理图片上传请求完整代码示例

Android Studio 配置国内镜像源的实现步骤

《AndroidStudio配置国内镜像源的实现步骤》本文主要介绍了AndroidStudio配置国内镜像源的实现步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,... 目录一、修改 hosts,解决 SDK 下载失败的问题二、修改 gradle 地址,解决 gradle

python连接本地SQL server详细图文教程

《python连接本地SQLserver详细图文教程》在数据分析领域,经常需要从数据库中获取数据进行分析和处理,下面:本文主要介绍python连接本地SQLserver的相关资料,文中通过代码... 目录一.设置本地账号1.新建用户2.开启双重验证3,开启TCP/IP本地服务二js.python连接实例1.