报表生成器导出为带有列标题空格的 CSV

3 csv report reporting-services reportbuilder3.0

这是一个奇怪的请求,因为我们都知道数据库标头不应包含空格。然而,我正在使用的系统需要在其标题中包含空格才能导入。我创建了一个报告生成器报告,它将数据构建到一个表中,并在运行时工作。

 '01/08/2015' "Active date",
 '31/07/2016' "Expiry date",
Run Code Online (Sandbox Code Playgroud)

但是,当将其导出到 CSV 文件时,它们会被替换为“Active_date”,这会导致导入时出错。有谁知道我可以阻止它用 _ 替换空格的方法,或者这是无法更改的东西?

Anu*_*wal 5

是 可以导出为 CSV,并在列标题中包含空格。这是我实现这一目标的方法。

步骤 1
更新报告数据集以包含第 1 行的标题。

SELECT * FROM
(
 SELECT Field1, Field2, 2 as rowOrder
  FROM Tables
  Where Conditions
 UNION ALL
 SELECT 'Activity Date' AS Field1, 'Expiry Date' AS Field2, 1 as rowOrder
) ORDER BY rowOrder
Run Code Online (Sandbox Code Playgroud)

步骤 2:
修改RSReportServer.config报表服务器上的文件以自定义 CSV 导出以排除 header

2012配置文件位置:C:\Program Files\Microsoft SQL Server\MSRS11.MSSQLSERVER\Reporting Services\ReportServer

2008年文件位置:\Program Files\Microsoft SQL Server\MSSQL.n\Reporting Services\ReportServer

Imp:进行备份,以防RSReportServer.config您需要回滚更改。

在 CSV 扩展名下面的部分中添加另一个条目<render>

<Extension name="CSVNoHeader" Type="Microsoft.ReportingServices.Rendering.DataRenderer.CsvReport,Microsoft.ReportingServices.DataRendering">
    <OverrideNames>
        <Name Language="en-US">CSV No Header</Name>
    </OverrideNames>
    <Configuration>
        <DeviceInfo>
            <NoHeader>true</NoHeader>
        </DeviceInfo>
     </Configuration>
</Extension>
Run Code Online (Sandbox Code Playgroud)

保存。现在,您有另一个下拉导出选项“CSV 无标题”以及 CSV、PDF、XML。用户可以使用此选项提取标题中带有空格的 CSV 数据。

用于自定义渲染扩展的 MSDN 链接