1. 内容概述
在应用中,原始的数据格式经常不能满足实际需求,这时就需要将数据进行格式化处理使其更符合需要。
比如下图中所示,将订购日期改成“年-月-日”格式,在订单金额前面加上货币符号“¥”并去掉小数点后数字。
上图中的格式化效果可以通过属性面板中的“数据格式”设置项实现,也可以通过函数表达式来实现。
表达式中常用的数据格式化函数有两个:.ToString和Format。接下来我们就分别看一下如何使用属性设置和数据格式化函数对数据进行格式化处理。
2. 属性设置与格式化函数
(1) 新建报表,添加数据集后,使用表格组件按照下图所示绑定数据字段。
(2) 为了方便对比转换效果,我们在“订购日期”和“订单金额”右侧分别增加两列,并绑定同样的数据字段。
(3) 使用属性设置面板中的“数据格式化”对“订购日期”和“订单金额”进行格式化设置。
(4) 使用Format函数或.ToString函数进行数据格式化,比如我们将订购日期显示成“yyyy/MM/dd”格式,将订单金额显示成货币格式并且不显示小数点后数字。
- 如果使用Format函数,则表达式为 =Format(Fields!订购日期.Value,"yyyy/MM/dd") 和 =Format(Fields!订单金额.Value,"c0");
- 如果使用.ToString函数,则表达式为 =Fields!订购日期.Value. ToString("yyyy/MM/dd") 和 =Fields!订单金额.Value. ToString("c0")
图中分别使用Format函数和.ToString函数对“订购日期”和“订单金额”进行了格式化。
(5) 预览报表,可见通过这两种方式对数据进行格式化的效果是一致的。
3. 格式化函数示例
一些场景中不能使用属性设置进行格式化处理时,如处理表达式中的数据格式时,可以使用格式化函数来实现。
比如我们需要为表格添加一个表头,以特定的数据格式来显示查询报表的时间和销售总额,如下图所示。此时便不能直接通过属性设置来实现目标效果,只能使用格式化函数修改表达式中数据的格式。
使用的表达式为:="报表生成日期:" & Format(Today(),"yyyy年MM月dd日") & ",订单总金额为:" & Sum(Fields!订单金额.value).ToString("c2")