专栏首页cwl_Java快速学习JasperReport-Chart图表

快速学习JasperReport-Chart图表

3 Chart图表

3.1 创建模板

(2)创建fileds

(3)创建chart图标 第一步:palette面板找到chart图表,拖拽到band中 第二步:选择需要的图表类型

第三步:设置图表参数

  1. Key: 圆饼图的内容是什么,也就是下面的 First,Second…的内容
  2. Value:这个圆饼图的比例依据,根据 Value 属性来显示每个 Key 占的比例
  3. 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;
   }

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 快速学习-使用 spring 的 IoC 的实现账户的CRUD

    使用 spring 的 IoC 实现对象的管理 使用 DBAssit 作为持久层解决方案 使用 c3p0 数据源

    cwl_java
  • Java工具集-分页工具类

    cwl_java
  • 设计模式-装饰模式

    cwl_java
  • Linux编译安装GCC 4.7

    依赖库: + gmp 5.0.4 or gmp 5.0.5 + mpfr 3.1.0 + mpc 0.8.2 or mpc 0.9 + ppl 1.12...

    owent
  • java基础第十七篇之网络编程和装饰者模式

    1:网络概述 1.1 网络的发展Net 1964年,美国人—> 阿帕网—>以太网Internet 1.2 网络的通信协议 windows电脑,andro...

    海仔
  • Linux 编译安装 GCC 4.9

    GCC4.9发布啦,本脚本在之前4.8的基础上做了稍许改进,更新 PS:4.9.0 开始支持C++1y特性 GCC 4.9 的大致变更如下,因为我只用C/C...

    owent
  • 八、适配器模式与桥接模式详解

    适配器模式的英文翻译是 Adapter Design Pattern。顾名思义,这个模式就是用来做适配的,它将不兼容的接口转换为可兼容的接口,让原本由于接口不兼...

    编程之心
  • 问与答70: 如何记录指定单元格每次修改的时间?

    Q:我想要在用户修改工作表指定单元格的内容时,在另一工作表中记录修改的时间。例如,在工作表Sheet1的单元格B2中,每次用户将该单元格值修改为某一大于0的数值...

    fanjy
  • SpringBoot几个注解MockMvcWireMockSwagger2@JsonViewHibernate Validator异常处理拦截方式上传下载异步处理RESTSpring Security

    只有特定名称或者类型的Bean(通过@ConditionalOnMissingBean修饰)不存在于BeanFactory中时才创建某个Bean

    spilledyear
  • 1、根据SC数据库用SQL语句完成以下任务。

    update SC set Grade=Grade+5 whereGrade<60;

    week

扫码关注云+社区

领取腾讯云代金券