work hard work smart

专注于Java后端开发。 不断总结,举一反三。
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

JasperReport Chart使用(饼状图)

Posted on 2021-06-14 13:18  work hard work smart  阅读(443)  评论(0编辑  收藏  举报

1、在tmeplate4_charts模板里创建Field

 

 

 grade属性, 类型为java.lang.String

 

 

 

 nums属性 类型为java.lang.Long

 

2、在右边的Basic Element中拖拽Chart

 

 

 这里我们选择Pie Chart

 

 

 

 点击完成。

最终的模板如下图所示

 

 

 

 

创建StudentCount 类

public class StudentCount {

    private String grade;
    private  Long nums;

    public String getGrade() {
        return grade;
    }

    public void setGrade(String grade) {
        this.grade = grade;
    }

    public Long getNums() {
        return nums;
    }

    public void setNums(Long nums) {
        this.nums = nums;
    }
}

  

java代码

@GetMapping("/jasper4_chart")
    public void jasper4_chart( HttpServletResponse response)
            throws Exception {
        HashMap<String, Object> parameters = new HashMap<String, Object>();

        List<StudentCount> studentList = new ArrayList<>();
        for (int i = 1; i <= 6; i++) {
            Random random = new Random();
            int count = ((Double) (random.nextDouble() * 10)).intValue();
            StudentCount s1 = new StudentCount();
            s1.setGrade("grade"+ i );
            s1.setNums(i * 20L + count);
            studentList.add(s1);
        }
        String templatePath = "templates/template4_charts.jasper";
        JasperReportUtil.exportToPdf(templatePath, parameters, studentList, response);
    }

  

 

最终展示的pdf效果如下图