第1章 概述

在制作报表时,有时希望根据单元格内容的不同,呈现的样式可以动态变化。这样的例子比较多,例如当单元格的值大于100时使用红色字体以突出显示、当文字较多时适当缩小字号、动态显示边框等等。

在UniEAP Report报表设计器中,除了为单元格指定固定的样式外,还可以通过公式设置动态样式,如下图所示:

1

总的来说,可使用公式设置的样式如下:

  • 字体:包括前景色、背景色、字体名称、字号和字体样式(粗体、斜体、删除线、下划线)。
  • 边框:包括上、下、左、右边框的颜色、宽度和线型(实线、点线或划线)。
  • 对齐:水平对齐和垂直对齐。

以上三类分别对应文本属性设置中的字体、边框和对齐三个Tab页中的全部或部分功能:

2

【注意】对于同一样式,公式和标签页中的设置不能同时存在,以最后一次设置为准。

第2章 使用公式设置样式

2.1 字体设置

2.1.1 前景色和背景色

UniEAP Report为此功能提供了RGB公式,具体使用方法参见《UniEAP Report公式查询手册》。例如要设置某单元格的文字颜色为绿色,可在“公式”标签页的“前景色”行填写公式:=RGB(0,255,0),如下图所示:

3

2.1.2 字体名称和字号

直接填写字体的名称和表示字号的数值即可,例如使用“宋体”9号字:

4

2.1.3 字体样式

使用一个整数表示,整数的二进制表示的低四位从低到高依次代表:粗体、斜体、下划线和删除线。

例如要同时使用粗体、斜体和下划线,则在“字体样式”一行写入:=7(二进制表示为0111)。

2.2 边框设置

需要分别设置单元格的上、下、左、右四个边框。使用一个整数表示某一边框的颜色、宽度、和线型,设该整数的二进制表示的最低位为第0位,具体如下:

低32位代表颜色值,其中0 ~ 23位分别代码三个颜色分量,16 ~ 23位表示红色,8 ~ 15位表示绿色,0 ~ 7位表示蓝色。

32 ~ 35位代表线型,取值范围为0 ~ 2,分别表示实线、点线和划线(即虚线)。

36 ~ 39位代表宽度,取值范围为0 ~ 15。

例如,要设置单元格的右边框的颜色为红色,线型为点线,宽度为2,则在“右边框”公式中填写=141750632448(十六进制为2100FF0000),如下图所示:

5

2.3 对齐方式

水平对齐和垂直对齐都使用0 ~ 2之间的一个整数表示。对于水平对齐,0、1、2分别表示居左、居中、居右;对于垂直对齐,分别表示居上、居中、居下。

例如设置单元格文字的水平居中、垂直居中,只需在“水平对齐”和“垂直对齐”两个公式处写:=1。

第3章 实现动态样式

第2章的例子中都是使用的固定值,和直接在对应的Tab页中进行设置没有什么区别。使用公式的好处在于,可以根据当前单元格的内容、报表参数的值等,实现样式的动态变化。例如当单元格的值大于100时设置文字为红色,否则为黑色,可以设置如下“前景色”公式:

=Case(CellValue()>100,RGB(255,0,0),RGB(0,0,0))

又比如用报表参数fontSize的值作为字号,只需在“字号”公式处写:

=$fontSize

当单元格中的字数较多时,为了在有限的空间内显示全,可以适当地缩小字号,此时可使用类似下面的公式设置字号(只是提供一个思路,具体数值要根据需要进行调整):

=90/(Length(CellValue()))

results matching ""

    No results matching ""

    results matching ""

      No results matching ""