从 s-s-rS 2008 R2 导出到 Excel 2010 时,数字不保持格式

Posted

技术标签:

【中文标题】从 s-s-rS 2008 R2 导出到 Excel 2010 时,数字不保持格式【英文标题】:Numbers not keeping format when exported from s-s-rS 2008 R2 to Excel 2010 【发布时间】:2012-08-06 22:50:30 【问题描述】:

我正在使用表达式来显示货币,具体取决于价值是数百万还是数千。此表达式在我的报告的 Format 属性中设置:

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

这样,如果值为 1,500,000,则该数字将显示为 $150 万,如果为 15,000,则将显示为 $15,000。

问题是当我将文件导出到 Excel 时。以千为单位的数字保留格式,但以百万为单位的数字会丢失它。所以我有一个电子表格,上面有 1,500,000 和 15,000 美元这样的数字。所有数字都导出为文本。

有没有人知道如何在 excel 中保留格式,使其与 s-s-rS 报告中的显示方式相匹配,同时确保它仍然是一个数字?

基本上,我想模仿在我们使用 s-s-rS 自动生成此报告之前 excel 所做的事情。数以百万计的数字采用这种自定义数字格式:$#.0,,\M,数千采用这种格式:$#,K。

谢谢!

【问题讨论】:

【参考方案1】:

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

Excel 会将公式转换为最终的格式化值 1500 万美元

棘手的部分是使格式字符串在 excel 中有效,并创建一个 s-s-rS 公式,它将连接字符串并生成一个 Excel 公式。

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

【讨论】:

以上是关于从 s-s-rS 2008 R2 导出到 Excel 2010 时,数字不保持格式的主要内容,如果未能解决你的问题,请参考以下文章

s-s-rS 2008 R2 错误?仍然?动态隐藏列或 tablix 并导出为 CSV

s-s-rS 2008 R2 excel 导出在报表服务器上不起作用

s-s-rs 2008 导出到单元格并获取合并单元格错误

s-s-rS 2008r2 在报表管理器的主显示页面中截断报表描述

s-s-rS 2008 R2 - 无法登录到 localhost/reports

从远程 pc 在 C# 中生成 s-s-rS 2008 R2 报告比从本地 pc 慢