在呈现文本文件时删除双引号

问题描述 投票:0回答:1

Reporting Services 当一个值有一个逗号并且当报告数据被导出(呈现)到文本文件时,它会在这些值周围加上双引号,例如:Mike Electric 和 Pluming。 我需要数据以名称中的逗号显示(银行格式需要它)但没有将它们括起来的双引号(“Mike Electric, and Pluming”)。我正在尝试编写自定义代码来删除双引号,确定原因。在 SSRS Report Builder 中是否有其他方法可以解决此问题?提供了自定义代码,有什么问题吗?

Imports Microsoft.ReportingServices.ReportRendering

Function RemoveQuotes(ByVal input As String) As String
    Dim renderFormat as RenderingFormat = Report.RenderFormat
    If (renderFormat.Name = "TEXT") AndAlso input.Contains(",") Then
        Return input.Replace("""", "") ' Remove existing quotes
    Else
        Return input
    End If
End Function

提前谢谢你

试过自定义代码

Imports Microsoft.ReportingServices.ReportRendering

Function RemoveQuotes(ByVal input As String) As String
    Dim renderFormat as RenderingFormat = Report.RenderFormat
    If (renderFormat.Name = "TEXT") AndAlso input.Contains(",") Then
        Return input.Replace("""", "") ' Remove existing quotes
    Else
        Return input
    End If
End Function

还尝试了替换语句,但它不起作用,因为双引号不在仅导出文本文件的报告中。

ex:REPLACE(NAME.VALUE,"""","")

reporting-services reporting reportbuilder
1个回答
0
投票

我怀疑最简单的方法是向 SSRS 添加新的导出格式,您可以使用 到

Tab
定界符 exmaple 而不是逗号,这样渲染器就不必做任何逗号。您显然可以使用您喜欢的任何其他分隔符,例如竖线字符
|
.

首先您需要找到 RSReportServer.config 文件。在我的服务器上是在这里

C:\Program Files\Microsoft SQL Server\MSRS13.MyServerName\Reporting Services\ReportServer
但位置可能会因您的设置而异。


在开始之前进行备份以防出现问题!


打开文件并找到

<Render>...</Render>

在块的末尾添加以下内容(这将添加竖线和制表符分隔选项)

    <Extension Name="TAB" Type="Microsoft.ReportingServices.Rendering.DataRenderer.CsvReport,Microsoft.ReportingServices.DataRendering">
    <OverrideNames>
        <Name>TAB Delimited</Name>
    </OverrideNames>
    <Configuration>
        <DeviceInfo>
            <FieldDelimiter>&#9;</FieldDelimiter>
            <UseFormattedValues>False</UseFormattedValues>
            <NoHeader>False</NoHeader>
            <FileExtension>txt</FileExtension>
            <Qualifier>'</Qualifier>
        </DeviceInfo>
    </Configuration>
    </Extension>

    <Extension Name="PIPE" Type="Microsoft.ReportingServices.Rendering.DataRenderer.CsvReport,Microsoft.ReportingServices.DataRendering">
    <OverrideNames>
        <Name>PIPE Delimited</Name>
    </OverrideNames>
    <Configuration>
        <DeviceInfo>
            <FieldDelimiter>|</FieldDelimiter>
            <UseFormattedValues>False</UseFormattedValues>
            <NoHeader>False</NoHeader>
            <FileExtension>txt</FileExtension>
            <Qualifier>'</Qualifier>
        </DeviceInfo>
    </Configuration>
    </Extension>        

重新启动 SSRS,您应该拥有新的导出选项。

© www.soinside.com 2019 - 2024. All rights reserved.