4. 定义报表元素
报表单元格里的内容可以是文本、图片、图表、子布局、条形码,定义报表元素的过程就是定义单元格属性的过程。
除文本类型的单元格的值可以直接填写在单元格中外,单元格的其他属性需在右侧属性面板中设置。
4.1 文本
选中报表单元格,在右侧属性面板中,“类型”属性值设置为“文本”。如下图所示:
4.1.1 设置值属性
单元格的值可以为常量或公式,下面为您逐一详细介绍:
- 单元格值为公式
将公式体写在值属性中,或直接在单元格中填写,或直接键盘键入,或者打开公式编辑器书写,公式的使用规则参见公式。如下图所示:
【注意】公式体前必须加等号“=”。
此外,可以使用鼠标拖拽的方式定义数据集公式为单元格的值属性,操作方法为:在数据集面板中,选中数据集字段,可以拖拽至编辑区的某个单元格,并选择所要使用的数据集公式,如下图所示:
- 单元格值为常量
将值填写在值属性中,或直接在单元格中填写,如下图所示:
4.1.2 设置单元格标题属性
如果您设置了“显示”属性值后,报表展现时将显示当前单元格的“显示”属性中的值,而非“值”属性的值。如下图所示:
4.1.3 选择单元格中数据的扩展方向
具体的属性含义及规则参见“扩展”章节,如下图所示:
4.1.4 设置单元格的行/列依赖属性
具体的属性含义及规则参见“依赖”章节,如下图所示:
4.1.5 设置单元格数据格式
单元格的“格式设置”属性针对单元格的数据值进行格式化,点击“开始”菜单项下的“格式设置"按钮,如下图
在“格式”TAB页中,可以针对单元格的数据值进行格式化,例如:单元格的数据值如果是0.15,选择“格式”TAB页中的“类型”属性值为“百分比”,并选择或者手写设置“定义”属性值为“#.##%”,则该单元格显示为“15.00%”,如下图所示:
UniEAP Report所支持的格式化类型包括:
- 常规
对该类型单元格数据的格式不做任何处理。 - 数值
将单元格内容作为数字类型进行格式化。选择“类型”属性值为数值,在“定义”属性中选择或直接输入相应的格式化方式。 如:对于数字 333.3333333333333 在应用如下格式化方式:
格式 | 样例 |
---|---|
###,###.## | 333.33 |
000##.## | 00033.33 |
0.000 | 333.333 |
【注意】特殊用法: 填入(非选)#,##0.00有数据显示3,333.00,为0字段显示0.00。 百分比同样使用
- 货币 将单元格内容按照不同地区的货币类型进行格式化输出。选择“类型”属性值为货币,在“定义”属性中选择一种货币,并选择相应的数字的格式。
- 日期
将单元格内容格式化成特定的日期格式进行显示,在“格式>定义”属性中选择或直接填写输入相应的格式化方式。 使用字母代表不同的模式,字母的数量确定显示的位数。如y代表‘年’,对于2001年,yyyy显示2001,yy则显示01。如下表所示:
字母 | 日期或时间元素 | 示例 |
---|---|---|
G | Era 标志符 | AD |
y | 年 | 1996; 96 |
M | 年中的月份 | July; Jul; 07 |
w | 年中的周数 | 27 |
D | 年中的天数 | 189 |
d | 月份中的天数 | 10 |
F | 月份中的星期 | 2 |
E | 星期中的天数 | Tuesday; Tue |
a | Am/pm 标记 | PM |
H | 一天中的小时数(0-23) | 0 |
k | 一天中的小时数(1-24) | 24 |
K | am/pm 中的小时数(0-11) | 0 |
h | am/pm 中的小时数(1-12) | 12 |
m | 小时中的分钟数 | 30 |
s | 分钟中的秒数 | 55 |
S | 毫秒数 | 978 |
如:时间戳 1172627660339 可应用如下格式化方式:
格式 | 样例 |
---|---|
yyyy.MM.dd HH:mm:ss z | 2007.02.28 09:54:20 CST |
yy年M月d日 HH时mm分 | 07年2月28日 09时54分 |
EEE, MMM d, ''yy | 星期三, 二月 28, '07 |
h:mm a | 9:54 上午 |
hh 'o''clock' a, zzzz | 9 o'clock 上午, 中国标准时间 |
yyyyy.MMMMM.dd GGG hh:mm aaa | 02007.二月.28 公元 09:54 上午 |
- 百分比
将单元格内容格式化成百分比形式进行显示。
举例 | 输出样式 |
---|---|
23.1112 | 2311.12% |
分数
将单元格内容格式化成分数形式进行显示, 在“格式>定义”属性中选择或直接填写输入相应的格式化方式。科学计数
将单元格内容按照科学计数方式进行显示,在“格式>定义”属性中选择或直接填写输入相应的格式化方式。 如:对于数字23.1112
举例 | 输出样式 |
---|---|
0.000E0 | 2.311E1 |
- 特殊
在“格式>定义”属性中选择或直接填写输入相应的格式化方式。
所选样式 | 例子 | 输出 |
---|---|---|
将阿拉伯数字转换成简体中文 | 348004023 | 三四八零零四零二三 |
将阿拉伯数字转换成繁体中文 | 348004023 | 叁肆捌零零肆零贰叁 |
将使用阿拉伯数字表示的人民币转换成中文大写人民币 | 453223.67 | 肆拾伍万叁仟贰佰贰拾叁圆陆角柒分 |
4.1.6 单元格对齐功能
对齐功能单元格的对齐、缩进、方向和换行设置
- 水平对齐 居左、居中、居右、分散对齐、两端对齐。
- 垂直对齐 居上、居中、居下
- 缩进 默认“0”
- 方向 影响文字方向。注意:左右旋转90度的只能导出一行,不可换行,且不支持word导出。
- 自动换行
自动换行:默认
单行文字适应:单行文字字号会依据单元格适应大小
截断:就一行、多出来的不显示(...)
多行文字适应:多行文字字号会依据单元格适应大小
4.1.7 斜线表头
选中单元格,点击“插入”菜单项下的“斜线表头”按钮,如下图所示:
在斜线设置页面中,可选择无分隔、单线分割、双线分割。并填写左下角文字、中间文字、右上角文字,如下图所示:
4.1.8 设置单元格是否可见
单元格的“格式设置”属性针对当前单元格在报表展现端是否可见进行设置,点击“开始”菜单项下的“格式设置"按钮,在打开的页面中选择“其他”Tab页,即可看到该属性,您也可以在此界面中设置当前单元格是否打印。如下图所示:
4.2 图片
如果您的报表中包含图片,UniEAP Report支持三种图片来源:数据集(数据源)、服务器端可访问的图片文件、本地图片文件。
选中报表单元格,点击“插入”菜单项下的“图片”按钮,弹出各种图片设置选项。如下图所示:
点击单元格图片,系统弹出图片设置窗口,在此窗口中定义图片。
4.2.1 图片来源于本地文件
当图片来源于本地文件时,步骤如下:
- 选择“自定义”TAB页;
- 点击“上传图片”按钮,在弹出的窗口中选择需要导入的图片文件,如下图所示:
- 点击<打开>,完成图片导入。
4.2.2 图片来源于服务器端可访问的图片文件
用户可以在报表定义中引入来自服务器端可访问的文件系统的图片。 UniEAP Report支持有效的URL,包括HTTP、HTTPS、服务器端绝对路径、服务器端相对于Web应用的相对路径。定义方法如下:
- 点击“使用公式”按钮;
- 在其后文本框中填写图片函数FilePicture(uri)
URL:文件位置,可以是有效的URL,服务器端绝对路径,服务器端相对于Web应用的相对路径。需要说明的是对于相对路径,如果服务器是windows路径名以”\”开头,如果是Unix,以”//”开头。 下面对各种情况路径分别举例如下: FilePicture(‘\pic\test.gif’) FilePicture(‘http://Web.neusoft.com/images/enter/pic_2.gif’) FilePicture(‘c://aaa/test.gif’) 如下图所示:
4.2.3 图片来源于数据集
报表定义中可以引入来源于数据集(参见“数据集”)的图片。
1.点击“使用公式”按钮;
2.在其后文本框中填写图片函数DBPicture(repository_name, dataentitiy_name, field_name, keys, key_values[, encodeType])
- repository_name:数据集名;
- dataentitiy_name:图片所在表名;
- field_name:图片对应字段名;
- keys:定位图片的键名称列表;
- key_values:定位图片的键值列表,如果是多个域keys的顺序一一对应;
encode_type:图片字段编码类型,0:二进制;1:BASE64编码。缺省为0。
例如:DBPicture(‘northwind’,’pictures’,’pic’,list(‘id’),list(A2),0), northwind数据源的pictures表中取pic列的图片,定位图片的key是id列,定位的关键值是A2单元格的值。如下图所示:
3.点击<确定>按钮,完成图片设置。
4.3 图表
4.3.1 定义方法
1、选中报表单元格,点击“插入”菜单项下的“图表”按钮,如下图所示:
2、打开图表设置向导,如下图所示:
3、选择图表类型,UniEAP Report图表提供多种图表类型,每个类型包含若干子类型图表。请根据业务需求来选择对应的图表类型。在新图表向导中选择图表的类型及其对应的子类型,如下图所示:
4、设置图表数据
不同的图表,数据设置方式略有不同。如下以柱状图为例,图表数据包括数据、分类、图例颜色三部分,可以应用报表公式获取数据,如list、select、group、cell等等。以下都以柱状图为例说明图表的数据绑定方式。
当图表为单系列时,图例颜色部分可以不输入任何数据,只需要在数据值部分绑定一个系列数据、分类轴部分绑定一个分类数据,就可以完成单系列图表的数据绑定。
当图表为多系列时,这里提供两种数据绑定方式,用户可以根据数据的格式进行合理的选择。一种是对于冗余数据格式的绑定方式,另一种是非冗余数据格式的绑定,具体如下:
冗余数据格式的方式:图例颜色部分绑定的是系列数据,分类轴部分绑定的是分类数据,数据值部分绑定的是显示数据值。
非冗余数据格式的方式:图例颜色部分不需要绑定任何数据、为空,数据值部分通过增加多条数据,用来绑定多个系列的值;分类轴部分绑定分类数据。如下图,有三个系列,分别为订单金额、发货金额、预定金额,分类轴设置为类别名称。
【注】制作图表时,图例颜色、分类轴、数据值应遵循以下原则:分类轴数据点、图例颜色和数据值上的数据点在数量上应该一致,否则,将会抛出数据点长度不等的异常。
5、设置图表属性
- 设置图表详细属性,如下图所示:
包括如下属性配置:
- 标题
设置图表在显示时的标题; - 图例
设置图表在显示时的图例; - X轴
设置图表在显示时的X轴; - Y轴
设置图表在显示时的Y轴; - 提示框
设置图表在显示时的提示框; - 坐标系网格
设置图表在显示时的坐标系网格; - 系列图表
设置图表在显示时的图表属性;
4.4 多布局
4.4.1 概念
从结构上来讲,可以将报表分为数据和样式两部分,数据与样式的结合称作一个布局。一个布局就类似Excel文件一个工作表(sheet)。
4.4.2 多布局
在UniEAP Report中一个报表定义文件(rdj)中可以有多个布局,类似于一个Excel文件中可以有多个工作表。
4.4.3 多布局的使用限制
多布局与子布局使用过程中需要遵守如下限制条件:
- 带有多布局的报表,Web页面展现不分页;
- 带有多布局的报表,不得定义为分栏报表;
- 多布局报表采用内存缓存策略,避免定义大数据量的多布局报表;
4.4.4 定义与使用多布局
4.4.4.1 定义多布局报表
新创建的UniEAP Report报表默认有一个主布局,布局名称默认为Sheet_1。报表资源面板的布局目录下可以新建布局。 1、右击页面右下角的增加布局按钮,添加布局,如下图所示:
1、点击增加后,即可创建一个新布局,布局名称可双击或者右键修改,可拖动排序、可右键删除
1、在布局中可以使用SheetCell公式引用其它布局中的单元格,如下图所示:
关于SheetCell公式的详细使用方法,请参见《公式查询手册》。
4.4.4.2 多布局报表的Web展现
多布局报表在web端展现时,可以通过多标签页的方式展现,鼠标单击标签页标题,即可在多个布局之间切换,如下图所示:
4.5 条形码
随着条形码技术的发展及在社会各种行业中的广泛应用,报表产品中需要提供条形码功能,主要表现在条形码输出图片(JPG,PNG,JPEG),条形码打印两方面。
由于条形码有很多标准,不同的行业使用的条码标准不同,鉴于当前需求,UniEAP Report目前仅支持code128条码标准。UniEAP Report设计模型上支持快速扩展其它条码标准,同时提供API接口,用户可以基于条码标准,实现API生成条形码。
点击“插入”菜单项下的“条形码”按钮,打开条码设置。如下图所示: