以 Excel 格式呈现表达式
在报表中可以使用表达式来计算报表项的值,或计算样式和格式属性的值以及其他报表项属性的值。Reporting Services 支持用 Microsoft Visual Basic 编写的表达式。呈现为 Microsoft Excel 格式时,Visual Basic 公式在可能的情况下将转换为 Excel 公式。条件是该公式必须只引用报表当前页上的报表项,而不能直接引用字段值。报表项引用会转换为相应的单元引用。有关报表中表达式的详细信息,请参阅在 Reporting Services 中使用表达式。
在通过 Visual Basic 表达式使用报表定义语言 (RDL) 所定义的公式中,可以使用“+”来连接字符串。不过,Excel 不支持使用“+”运算符来连接字符串。因此,为了正确转换公式,报表应使用“+”运算符来指示数字操作数的相加,而使用“&”运算符来指示字符串操作数的连接。
文本框的公式和函数
将报表导出到 Excel 时,Excel 并不支持所有的文本框运算符和函数。使用不支持的运算符或函数会导致公式转换失败。这种情况下,会以常量形式将公式计算出的值放入单元中。
允许使用以下运算符:
: + - / * ^ & < <= <> = > >=
允许使用以下函数:
Abs、Atan、Choose、Cos、DateValue、Day、DDB、Exp、FV、Hour、Int、Ipmt、Left、Minute、Month、Now、Nper、Pmt、PPmt、Pv、Rate、Right、Second、Sign、Sin、Sln、Sqrt、Syd、Tan、Today 和 Year。
还允许使用其他 Visual Basic 函数,不过在转换期间会将它们转换为相应的 Excel 函数名称。下表显示了这些函数名称之间的映射关系:
Visual Basic .NET 函数 | Excel 函数 |
---|---|
Asc |
Code |
Cdate |
DateValue |
Chr |
Char |
DateSerial |
Date |
Hex |
Dec2Hex |
Iif |
If |
Lcase |
Lower |
Oct |
Dec2Oct |
Ucase |
Upper |
对于所有其他情况(如不支持的表达式),则不会生成相应的 Excel 公式。而是将值直接放入单元中。如果希望在生成的 Excel 格式的整个报表中没有任何公式,而只有值,则可以使用设备信息设置 OmitFormulas 来取消生成公式。有关 OmitFormulas 和其他设备信息设置的详细信息,请参阅 Reporting Services Device Information Settings。
请参阅
概念
其他资源
Reporting Services Programming