从 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 2008r2 在报表管理器的主显示页面中截断报表描述