SQL Reporting Services - 导出到 Excel - 为啥选择“自定义”格式?

Posted

技术标签:

【中文标题】SQL Reporting Services - 导出到 Excel - 为啥选择“自定义”格式?【英文标题】:SQL Reporting Services - Export to Excel - why "Custom" formats?SQL Reporting Services - 导出到 Excel - 为什么选择“自定义”格式? 【发布时间】:2011-11-09 11:06:08 【问题描述】:

我有一个 SQL Reporting Services 报告,其中包含货币值,显示时没有货币符号(即 1,234.56)。我将此报告导出到 Excel,然后我应该选择将这些重新格式化为货币值,然后按“货币”格式按钮,我得到“$ 1,234.56”。

好的...除了我在英国并且我的区域设置将“£”指定为货币符号。如果我只是启动 Excel,输入 1234.56 并点击货币格式按钮,我会得到“£ 1,234.56” - 所以它似乎不是 Excel 的默认设置。

我更仔细地查看了导出的 Excel 工作表,发现这些值采用“自定义”格式,特别是“[$-1010809]#,##0.00;(#,##0.00)”。我不确定“1010809”是什么(see here)。 (这可能不相关)

事实证明,“货币”按钮应用了“会计”格式,但在从 s-s-rS 导出的电子表格中,它是自定义格式“(“$”* #,##0.00 em>);("$"* (#,##0.00);("$"* "-"??);(@_)"。这个大概是美元符号的原因。

有没有办法让导出的电子表格不使用“自定义”美元格式来表示货币值?我查看了报告并试图找到一些显示“英语(美国)”或类似内容的设置或属性,但一无所获。

【问题讨论】:

这是使用 s-s-rS 2005 (?) 和 Excel 2010。 【参考方案1】:

可以在“属性”选项板窗口(不是“报告属性”对话框)中更改报告本身的语言。在此窗口的本地化部分中,有一个语言选项。

确保设置正确:zh-CN

【讨论】:

谢谢。从 s-s-rS 的角度来看,这些只是数字,并使用“#,##0.00;(#,##0.00)”进行格式化。当他们使用 Excel 时,我说“这些是货币”,并且应用了奇怪的自定义格式。报告本身不显示货币符号,但一旦在 Excel 中,用户可能会选择应用它们。 作为一个实验,如果您在报告中指定了货币格式,您会得到什么?如果那是 $,那么也许您可以切换服务器上的语言环境。这可能会更改在导出的 Excel 电子表格中设置的区域设置。 嗯...并没有真正的帮助。将 s-s-rS 格式字符串更改为“c2”后,我有一些带有 $ 的字段和一些带有 £ 的字段 - 带有 $ 的字段具有“英语”的语言属性。我将其更改为“默认”,并且我的所有字段都有£。我上传到报表服务器,运行报表(全部为£)并导出到 Excel。仍然是 £,因为单元格使用自定义格式“[$-1010809]£#,##0.00;-£#,##0.00”。然后我按下货币按钮,使用前面提到的自定义会计格式将字段翻转为 $。 我即将大幅更改或删除我的答案。语言可能在报告中指定:属性窗口,确保在顶部下拉列表中选择报告,然后在本地化部分中,查找语言框。你在那里看到什么?我要编辑我的答案以更改它以提出这个建议。 我查看了报表属性,“语言”已经设置为“英语(英国)”。我将其更改为“默认”,但这没有任何功能差异。

以上是关于SQL Reporting Services - 导出到 Excel - 为啥选择“自定义”格式?的主要内容,如果未能解决你的问题,请参考以下文章

解密数据以用于 SQL Reporting Services 2008

Microsoft SQL Server Reporting Services 2017注册表

SQL Server 2012 安装 Reporting Services 目录错误

用于授予 SQL Server Reporting Services 用户权限的 SQL 脚本

向 SQL Server Reporting Services 报表添加交替行颜色

Reporting Services SQL Server 2005 文件共享错误