3 Chart图表
3.1 创建模板
(2)创建fileds
(3)创建chart图标
第一步:palette面板找到chart图表,拖拽到band中
第二步:选择需要的图表类型
第三步:设置图表参数
- Key: 圆饼图的内容是什么,也就是下面的 First,Second…的内容
- Value:这个圆饼图的比例依据,根据 Value 属性来显示每个 Key 占的比例
- Label:显示标签
3.2 PDF输出
3.2.1 实体类
public class UserCount {
private String companyName;
private Integer count;
public UserCount(String companyName, Integer count) {
this.companyName = companyName;
this.count = count;
}
public String getCompanyName() {
return companyName;
}
public void setCompanyName(String companyName) {
this.companyName = companyName;
}
public Integer getCount() {
return count;
}
public void setCount(Integer count) {
this.count = count;
}
}
3.2.2 PDF输出
//测试图表
@GetMapping("/testJasper06")
public void createPdf(HttpServletRequest request, HttpServletResponse response)
throws Exception {
//1.引入jasper文件
Resource resource = new ClassPathResource("templates/testChart.jasper");
FileInputStream fis = new FileInputStream(resource.getFile());
//2.创建JasperPrint,向jasper文件中填充数据
ServletOutputStream os = response.getOutputStream();
try {
HashMap parameters = new HashMap();
//parameters.put("userCountList",getUserList());
//构造javaBean数据源
JRBeanCollectionDataSource ds = new
JRBeanCollectionDataSource(getUserList());
/**
* 1.jasper文件流
* 2.参数列表
* 3.JRBeanCollectionDataSource
*/
JasperPrint print = JasperFillManager.fillReport(fis, parameters,ds);
//3.将JasperPrint已PDF的形式输出
JasperExportManager.exportReportToPdfStream(print,os);
response.setContentType("application/pdf");
} catch (JRException e) {
e.printStackTrace();
}finally {
os.flush();
}
}
//创建数据库Connection
public List<UserCount> getUserList() throws Exception {
List<UserCount> list = new ArrayList<>();
UserCount uc1 = new UserCount("传智播客",10);
UserCount uc2 = new UserCount("黑马程序员",10);
list.add(uc1);
list.add(uc2);
return list;
}