colour报表开发单元格格式设置

时间:2026-02-26 21:24:33

1、1. 实现原理

1.1 新建单元格

新建一个单元格,位置为(1,1),列向占2个单元格,行向占2个单元格,文本值

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

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

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

2、1.3 获取单元格样式

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

Style style = cellElement.getStyle();    

        if (style == null) {    

            style = Style.getInstance();    

        }  

1.4 设置单元格样式

/设置单元格单元格的样式

cellElement.setStyle(style);   

3、1.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);  

1.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);  

4、2. 实现步骤

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

//单元格格式设置  

package com.fr.demo;    

    

import java.awt.Color;    

import java.awt.Font;  

import java.util.Map;  

  

import com.fr.base.Style;    

import com.fr.base.background.ColorBackground;    

import com.fr.general.FRFont;  

import com.fr.report.cell.DefaultTemplateCellElement;  

import com.fr.report.cell.TemplateCellElement;  

import com.fr.report.worksheet.WorkSheet;  

import coquest;  

import com.fr.main.TemplateWorkBook;    

import com.fr.main.impl.WorkBook;  

5、public class SetCellElementStyle extends Reportlet {    

    public TemplateWorkBook createReport(ReportletRequest arg0) {    

        // 新建报表    

        WorkBook workbook = new WorkBook();    

        WorkSheet worksheet = new WorkSheet();    

        // 新建一个单元格,位置为(1,1),列占2单元格,行占2单元格,文本值为 "FineReport"    

        TemplateCellElement cellElement = new DefaultTemplateCellElement(1, 1,    

                2, 2, "FineReport");    

        // 设置列宽为300px,设置行高为30px    

        worksheet.setColu1, new OLDPIX(30));    

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

        Style style = cellElement.getStyle();    

        if (style == null) {    

            style = Style.getInstance();    

        }    

6、        // 设置字体和前景的颜色    

        FRFont frFont = FRFont.getInstance("Dialog", Font.BOLD, 16);    

        frFont = frFont.applyForeground(new Color(21, 76, 160));    

        style = style.deriveFRFont(frFont);    

        // 设置背景    

        ColorBackground backgroound);    

        // 设置水平居中    

        style = style.deriveHorizontalAlignment(Constants.CENTER);    

        // 设置边框    

        style = style.deriveBorder(Constants.LINE_DASH, Color.red,    

                Constants.LINE_DOT, Color.gray, Constants.LINE_DASH_DOT,    

                Color.BLUE, Constants.LINE_DOUBLE, Color.CYAN);    

7、3. 服务器配置要求

最低配置

CPU类型:需要PentiumIII兼容或更高速度的处理器

CPU速度:2.1GHz或更高

内存:2G

硬盘空间:250G

推荐配置

CPU类型:需要 Pentium III 兼容或更高速度的处理器

CPU速度:3.8GHz或更高

内存:8G

硬盘空间:1TG

8、   // 改变单元格的样式    

        cellElement.setStyle(style);    

        // 将单元格添加到报表中    

        worksheet.addCellElement(cellElement);    

        workbook.addReport(worksheet);    

        return workbook;    

    }  

  

    @Override  

    public void setParameterMap(Map arg0) {  

        // TODO Auto-generated method stub  

          

    }  

  

    @Override  

    public void setTplPath(String arg0) {  

        // TODO Auto-generated method stub  

          

    }    

}  

9、2.1 发布并预览

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

http://localhost:8075/WebReport/ReportServer?reportlet=com.fr.demo.SetCellElementStyle便可以看到我们定义的网络报表了。

© 2026 阿力知识库
信息来自网络 所有数据仅供参考
有疑问请联系站长 site.kefu@gmail.com