以 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

帮助和信息

获取 SQL Server 2005 帮助