创建程序报表

编辑
  • 文档创建者:印然
  • 浏览次数:4548次
  • 编辑次数:10次
  • 最近更新:Kevin-s 于 2019-06-23
  • 1. 描述

    由上一小节我们可以了解到所谓的网络报表就是指实现了 Reportlet 接口的类,可以在 Web 浏览器端直接访问,展示出我们通过程序设计的报表。

    上一节中我们是直接读取 cpt 模板文件生成的网络报表,为了您更加理解网络报表的原理,该节我们介绍如何在程序中创建程序网络报表。

    实例:新建一个报表,在 A1 单元格内插入 FineReport 这个字符串,对字符串进行格式设置,发布后通过浏览器来浏览,最终效果如下:



    2. 实现步骤

    2.1 新建报表

    新建 CreateReportletDemo 类,继承 com.fr.web.Reportlet 这个抽象类,并实现 createReport(ReportletRequest arg0)方法,最终返回一个 WorkBook。

    //创建一个WorkBook工作薄,在工作薄中插入一个WorkSheet
    WorkBook workbook = new WorkBook();
    WorkSheet sheet1 = new WorkSheet();
    workbook.addReport(sheet1);
    return workbook;


    2.2 插入单元格

    由 API 概述可以知道,worksheet 就是由单元格组成的,因此我们往创建的 sheet1 中插入单元格,编辑单元格内容,并设置单元格格式

    创建一个单元格

    new DefaultCellElement(int column, int row, Object value)

    列号为 0,行号为 0,即 A1 单元格,值为 FineReport,并设置单元格的样式

    TemplateCellElement CellA1 = new DefaultTemplateCellElement(0, 0, "FineReport");  
        Style style = Style.getInstance();

    字体为 Arial ,粗体,字号 20,红色

    FRFont frfont = FRFont.getInstance("Arial", 1, 20.0F, Color.red);  
        style = style.deriveFRFont(frfont);  
        CellA1.setStyle(style);  
        sheet1.addCellElement(CellA1);

    设置第 0 列列宽为 150px,第 0 行行高为 35px

    sheet1.setColumnWidth(0, new OLDPIX(150.0F));  
    sheet1.setRowHeight(1, new OLDPIX(35.0F));

    这样一张最简单的程序网络报表便形成了,完整代码如下所示:

    https://git.fanruan.com/demo/example/src/release/10.0/src/main/java/com/fr/demo/CreateReportletDemo.java


    2.3 发布并预览

    编译源 Java 文件,将生成的 CreateReportletDemo.class 类保存至应用%FR_HOME%\webapps\webroot\WEB-INF\classes\com\fr\demo下,启动服务器,在浏览器中输入地址http://localhost:8075/webroot/decision/view/report?viewlet=com.fr.demo.CreateReportletDemo,便可以看到我们定义的网络报表了,如下图:



    附件列表


    主题: 二次开发
    标签: 暂无标签 编辑/添加标签
    如果您认为本文档还有待完善,请编辑

    文档内容仅供参考,如果你需要获取更多帮助,付费/准付费客户请咨询帆软技术支持
    关于技术问题,您还可以前往帆软社区,点击顶部搜索框旁边的提问按钮
    若您还有其他非技术类问题,可以联系帆软传说哥(qq:1745114201

    此页面有帮助吗?只是浏览 [ 去社区提问 ]