表达式与常用函数
我们已经知道在设计Word模板的时候,可以插入表达式,格式为:
<表达式>
需要注意的是,表达式中的列名,必须用方括号括起来,例如:
<Round([数量] * [单价],2)>
表示数量乘以单价,并保留两位小数,如数量和单价不用方括号括起来,此表达式将不能正确计算。
表达式采用VBScript语法,而且Foxtable对VBScript进行了扩展,提供了很多非常实用的函数。
例如你要将出生日期以中文大写的形式打印出来,可以这样设置模板:<CUDATE([出生日期])>
再例如,假定已付款是个逻辑列,希望打印的时候,已付款的用符号"√",可以这样设置模板:IIF([已付款], "√",
"")
我们下面介绍一些常用的函数,更多的函数和更具体的用法,请参考:VBSCript参考
函数名 | 说明 |
Format | 格式化日期或数字。 格式化数字的时候,用0表示占位符,如果指定位置有数字,则显示数字,如果没有数字,则用0补充。 例如需要金额保留两位小数显示: <Format([金额],"#0.00")> 如果金额的值是123.567,则显示为123.57,如果金额的值是123.5,则显示为123.50,而不是123.5。 如果希望以百分比的形式显示,可以加上符号%,例如希望以百分比形式显示合格率,保留一位小数: <Format([合格率],"#0.0%")> 格式化日期的时候,yyyy表示四位年,yy表示两位年,MM表两2位月,M表示一位月,dd表示两位日,d表示一位日,例如: <Format([出库日期],"yyyy年MM月dd日")>
显示的日期格式为:2013年09月08日 注意M是大写。 |
IIF | 语法为:
IIF(expression, truevalue, falsevalue) 例如: |
Round | 对数值进行四舍五入,例如:<Round([金额],2)> |
Date | 返回今天的日期,例如: <Format(Date,"yyyy年MM月dd日")> 表示以四位年两位月两位日的格式显示今天的日期。 日期可以直接和数字进行加减,例如: <Date - 2> 表示前天的日期 <Date + 1> 表示明天的日期 <Format(Date + 1,"yyyy年MM月dd日")> 表示以四位年两位月两位日的格式显示明天的日期。 |
Now | 放回当前时间,例如:<Now> |
Year | 返回日期的年份,例如: <Year(出生日期)> |
Month | 返回日期的月份,例如: <Month(出生日期)> |
Day | 返回日期的日部分,例如: <Day(出生日期)> |
Weekday | 用数字形式返回星期几,例如: <WeekDay(出生日期)> |
WeekDayName | 用名称形式返回星期几,例如: <WeekDayName(出生日期)> |
CUDate | 将日期Date转换为大写中文格式。 例如: <CUDate([日期])> 假定日期列的值是“2013-12-9”,上面的表达式显示的是:贰零壹叁年拾贰月玖日 |
CLDate | 将日期Date转换为小写中文格式。 例如: <CLDate([日期])> 假定日期列的值是“2013-12-9”,上面的表达式显示的是:二○一三年十二月九日 |
CUMoney | 将数值转换为中文货币格式。 例如: <CUMoney([金额])> 假定金额的值是12345,上面的表达式显示的是:壹万贰仟叁佰肆拾伍圆整 |
CUNumber | 将数值转换为中文大写格式。 例如: <CUNumber([金额])> 假定金额的值是12345,上面的表达式显示的是:壹万贰仟叁佰肆拾伍 |
EUNumber | 将整数转换为英文大写。 例如: <EUNumber([数量])> 假定数量的值是12345,上面的表达式显示的是:Twelve Thousand Three Hundred Forty Five |
EUMoney | 将数值转换为英文货币格式。 例如: <EUMoney([金额])> 假定金额的值是12345.45,上面的表达式显示的是:Twelve Thousand Three Hundred Forty Five Dollars And Forty Five Cents |