【问题标题】:SSRS Formatting issue in the report报告中的 SSRS 格式问题
【发布时间】:2023-03-22 01:50:01
【问题描述】:

如何在 ssrs 报告中显示前面为零的数字列

例子:-

我想在报告中显示像 01234 这样的数值,但无论何时 我导出到 excel 它应该显示为 1234(不为零)。

尝试过的代码:

>  have applied many format[Report and PDf ][1] in text box expression for numeric values
> but it worked for both ways either completely convert to  numeric or
> string

已附上报告的屏幕截图和 pdf。

报告和 PDF

【问题讨论】:

    标签: reporting-services ssrs-2008 export-to-pdf


    【解决方案1】:

    添加自定义代码以报告:

    Public Function CustomFormatNumber(ByVal value As Integer, ByVal padZero As Boolean) As Object
        If  padZero Then
            Return "0" & value
        Else
            Return value
        End If
    End Function
    

    然后像这样设置Value表达式:

    =Code.CustomFormatNumber(Fields!YourField.Value, Globals!RenderFormat.Name <> "EXCELOPENXML")
    

    【讨论】:

    • 嗨,感谢您发送代码。我测试了这段代码,它总是在报告中显示附加零,这是正确的,但是当我导出到 excel 时,它不会删除文件中附加的零
    • 您可能正在使用除 EXCELOPENXML 之外的其他渲染扩展插件。导出到 Excel 时得到的文件扩展名是什么?
    【解决方案2】:

    我使用以下 SQL 创建了一个(非常)简单的数据集:

    select '01234' as [Value]
    

    然后创建一个文本框,并将文本框上的数字格式设置为“数字”。在文本框上的表达式中,我使用了。

    =iif(Globals!RenderFormat.Name <> "EXCELOPENXML", cstr(Fields!Value.Value), cint(Fields!Value.Value))
    

    cstr() 可能不是必需的,因为值已经是 SQL 中的字符串。

    当查看报表或导出到 Excel 以外的任何内容时,这会将值设置为字符串格式(保留 0),并在导出到 Excel 时将其设置为整数(删除 0)。

    希望这会有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-09-01
      • 1970-01-01
      相关资源
      最近更新 更多