使用表达式
可以在Excel报表中直接进行表达式计算,表达式必须用符号"<"和">"括起来,例如:
<[数量] * [单价]>
<[语文] + [英语] + [数学]>
<"编号:" & [编号]>
员工资料卡中的编号,就是利用表达式来打印的:
表达式中的列名必须用方括号括起来,例如:<"编号:" & [编号]>,如果没有方括号:<"编号:" & 编号>,表达式将不能计算。
表达式采用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日")>
日期可以直接和数字进行加减,例如: |
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 |