读取修改报表

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

    通过内核结构的介绍,可知我们能在程序中修改报表的属性,下面我们就以一个完整的例子说明如何在程序中读取一张报表,修改后重新导出。效果如下:



    2. 原理

    2.1 读取报表

    读取某一路径下的模板 cpt 文件,并将其转为 WorkBook 对象,有两种读取报表的方法:

    • 直接以文件绝对路径读取;

    • 先定义报表运行环境,然后从运行环境中直接读取相对路径下的模板。

    1)绝对路径读取模板

    WorkBook workbook = (WorkBook) TemplateWorkBookIO
    .readTemplateWorkBook(
    "/doc/Primary/Parameter/Parameter.cpt");

    2)读取报表运行环境

    // 定义报表运行环境,用于执行报表
    String envpath = "C:\\FineReport_10.0\\webapps\\webroot\\WEB-INF";//工程路径
    SimpleWork.checkIn(envpath);
    module.start();


    2.2 编辑属性

    // 获得WorkBook中的WorkSheet,进而修改A1单元格的前景色为红色
    TemplateElementCase report = (TemplateElementCase) workbook
    .getReport(0);
    // getCellElement(int column, int row),column和row都从0开始,因此A1单元格便是第0列第0行    
    CellElement cellA1 = report.getCellElement(0, 0);
    FRFont frFont = FRFont.getInstance();
    frFont = frFont.applyForeground(Color.red);
    Style style = Style.getInstance();
    style = style.deriveFRFont(frFont);
    cellA1.setStyle(style);


    2.3 导出报表

    //保存模板
    FileOutputStream outputStream = new FileOutputStream(new File(
    "C:\\test\\newParameter1.cpt"));
    ((WorkBook) workbook).export(outputStream);


    3. 实现步骤

    3.1 完整可执行代码

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

    注:工程路径和导出路径需要根据实际情况修改


    3.2 查看导出结果

    编译运行上述代码,将会在对应的文件夹下输出报表 newParameter.cpt,我们用设计器打开导出模板,可以看到,A1 单元格的前景色变成了红色,如下图所示:



    附件列表


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

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

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