单元格格式设置

编辑
  • 文档创建者:印然
  • 浏览次数:6991次
  • 编辑次数:14次
  • 最近更新:Carly 于 2019-09-11
  • 1. 描述

    单元格是组成报表的最小元素,FineReport 将单元格很多属性开放给应用开发人员进行控制,如新增单元格,设置列宽、行高,字体、前景色,背景色、显示位置、边框样式、边框颜色等等。

    以下我们将常用的属性设置列出供您参考,效果如下图所示:



    2. 原理

    2.1 新建单元格

    新建一个单元格,位置为 (1,1) ,列向占 2 个单元格,行向占 2 个单元格,文本值为 "FineReport",位置从 (0,0) 开始

    TemplateCellElement cellElement = new DefaultTemplateCellElement(1, 1, 2, 2, "FineReport");


    2.2 设置单元格行高、列宽

    设置第 1 列宽为 300px,设置第 1 行高为 30px,行列编号都是从 0 开始


    worksheet.setColumnWidth(1, new OLDPIX(300));  
    worksheet.setRowHeight(1, new OLDPIX(30));


    2.3 获取单元格样式

    得到 CellElement 的样式,如果没有新建默认样式


    Style style = cellElement.getStyle();  
    if (style == null) {  
        style = Style.getInstance();  
    }


    2.4 设置单元格样式

    设置单元格单元格的样式

    cellElement.setStyle(style);


    2.5 设置字体、字号等 


    // 设置字体和前景的颜色   
    FRFont frFont = FRFont.getInstance("Dialog", Font.BOLD, 16);   
    frFont = frFont.applyForeground(new Color(21, 76, 160));   
    style = style.deriveFRFont(frFont);         
    // 设置背景   
    ColorBackground background = ColorBackground.getInstance(new Color(255, 255, 177));   
    style = style.deriveBackground(background);   
    // 设置水平居中   
    style = style.deriveHorizontalAlignment(Constants.CENTER);


    2.6 设置单元格边框

    设置边框样式和边框颜色


    style = style.deriveBorder(Constants.LINE_DASH, Color.red, Constants.LINE_DOT, Color.gray, Constants.LINE_DASH_DOT, Color.BLUE, Constants.LINE_DOUBLE, Color.CYAN);

    3. 实现步骤

    改变单元格的格式,应先取出该单元格 (CellElement) 的格式 (Style)。若您是新建一个单元格,则 Style 是 null,故当取出 Style 后应先判断其值是否为 null,如果这个值为空,则需先新建一个 Style,然后再将该值赋给 CellElement。最后根据 Style 和 FRFont 中的方法进一步地设置该单元格的各种属性。


    3.1 可执行代码

    代码如下所示:

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


    3.2 发布并预览

    将编译后的 SetCellElementStyle.class 类放置在应用 %FR_HOME%\webapps\webroot\WEB-INF\classes\com\fr\demo下,启动服务器,在浏览器中访问该程序网络报表,地址如下:

    http://localhost:8075/webroot/decision/view/report?viewlet=com.fr.demo.SetCellElementStyle 便可以看到我们定义的网络报表了,如下图:



    附件列表


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

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

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