2011-07-27 119 views
4

我试图在报告服务中格式化一列以显示带有千位分隔符和逗号的数字。我使用的表达式如下:报告服务格式为

=格式(!字段Price.Value, “#,## 0.00”)

它的伟大工程。另外,如果我使用表达式:

= FormatNumber(!字段Price.Value,2,真,假,真)

的伟大工程了。问题在于转换为excel时。该列按预期显示在excel中,但单元格的格式为“常规”而不是“千位分隔符”。因此,由于被视为字符串(通用格式),用户无法将公式应用于列。我知道我可以将Excel中的列转换为数字格式,但我希望通过报告服务转换为Excel时,该列只会以数字格式显示。

可能吗?在谷歌搜索没有给我任何线索。

在此先感谢

+0

你能说出你正在使用的BIDS版本吗? – AndrewBay

+0

Microsoft Visual Studio 2005版本8.0.50727.762(SP.050727-7600) – user354427

回答

5

的问题是,格式返回一个字符串,所以这是它在Excel中转​​换为。

要达到您想要的效果,只需使用Format属性格式化该项目即可。单击该单元格,打开属性窗口,更新Format属性是#,##0.00

更妙的是,为了使您的应用程序国际化,更新报告的语言属性为=User!Language然后用N2为您的格式属性为细胞。

+0

Chris谢谢你的回答。我知道Format返回一个字符串,这就是为什么由于excel将列解释为没有数字而导致excel无法对该列进行计算的原因。 – user354427

+0

Chris谢谢你的回答。我知道Format返回一个字符串,这就是为什么由于excel将列解释为没有数字而导致excel无法对该列进行计算的原因。这就是我寻求帮助的原因,我知道我希望格式化,但是在excel中的结果格式良好,但是使用字符串格式而不是数字格式。任何帮助?谢谢 – user354427

+0

试试我的建议 - 如果使用Format属性(而不是格式化函数返回字符串),那么单元格保留一个格式正确的数字,可用于计算。例如,使用我上面的例子,在Excel中,我得到一个格式为[$ -1010C09]#的数字,## 0.00 –