2012-08-06 55 views
4

我使用表达式来显示货币,具体取决于数值是以百万还是以千计。这种表达坐落在我的报告的格式属性:从SSRS 2008 R2导出到Excel 2010时不保留格式的数字

=iif((Fields!PrevActual.Value < 100000), "'$'#,,0,'K';('$'#,0,'K')", "'$'0,,.0,'M';('$'0,,.0,'M')'") 

这样,如果值150万的数字将显示为$ 150万,如果它是15000将显示为$ 15000。

问题是当我将文件导出到Excel。数以千计的数字保留格式,但数以百万计的数字丢失了。所以我有一个电子表格,其中包含数字为1,500,000和15,000美元。所有数字都以文本形式导出。

有没有人知道一种方法来保持在Excel中的格式,所以它匹配它如何显示在SSRS报告,同时确保它也仍然是一个数字?

本质上,我想模仿在我们使用SSRS自动生成此报表之前excel的功能。数以百万计的数字是这种自定义数字格式:$#。0 ,, \ M和成千上万个在这个:$#,K。

谢谢!

回答

0

如果您导出excel公式,那么它可以工作。即出口 =“text(1500000,”“'''''0 ,,'0,'M';('$'0 ,,。0,'M')”“)”

Excel将会公式转换为最终的格式化值 $ 15M

棘手的部分是格式字符串在Excel中有效,并创建一个SSRS的公式,将连接字符串,并生成一个Excel公式

这可以帮助: http://msdn.microsoft.com/en-us/library/ms159220%28SQL.90%29.aspx