【问题标题】:Reporting Services Format as numberReporting Services 格式为数字
【发布时间】:2011-07-27 08:38:18
【问题描述】:

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

=Format(Fields!Price.Value, "#,##0.00")

效果很好。另外,如果我使用表达式:

=FormatNumber(Fields!Price.Value, 2, true, false, true)

效果也很好。问题是转换为excel时。该列按预期显示在 excel 中,但单元格的格式是常规而不是带有千位分隔符的数字。因此,由于被视为字符串(常规格式),用户无法将公式应用于列。我知道我可以在 excel 中将列转换为数字格式,但我希望在通过报告服务转换为 excel 时,该列仅以数字格式显示。

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

提前致谢

【问题讨论】:

  • 你能说出你使用的是什么BIDS版本吗?
  • Microsoft Visual Studio 2005 版本 8.0.50727.762 (SP.050727-7600)

标签: excel reporting-services formatting


【解决方案1】:

问题是 Format 返回一个字符串,所以这就是它在 Excel 中转换的内容。

要达到您想要的效果,只需使用 Format 属性设置项目的格式。点击单元格,打开属性窗口,将 Format 属性更新为#,##0.00

更好的是,要使您的应用程序国际化,请将报告的 Language 属性更新为 =User!Language,然后使用 N2 作为单元格的格式属性。

【讨论】:

  • 克里斯感谢您的回答。我知道 Format 返回一个字符串,这就是为什么 excel 无法对列进行计算的原因,因为 excel 将列解释为没有数字。
  • 克里斯感谢您的回答。我知道 Format 返回一个字符串,这就是为什么 excel 无法对列进行计算的原因,因为 excel 将列解释为无数字。这就是我寻求帮助的原因,我知道可以按照我的意愿进行格式化,但是 excel 中的结果格式正确,但使用的是字符串格式而不是数字。有什么帮助吗?谢谢
  • 试试我的建议 - 如果您使用 Format 属性(而不是返回字符串的 Format 函数),则单元格仍然是具有正确格式的数字,可用于计算。例如,使用上面的示例,在 Excel 中,我得到一个格式为 [$-1010C09]#,##0.00 的数字
  • 对不起,我不明白您说的是属性而不是 Format 函数。我现在要搜索该属性并对其进行测试。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多