报表生成器使用列标题空间导出到CSV

时间:2015-08-19 09:24:44

标签: csv reporting-services report reportbuilder3.0

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

 '01/08/2015' "Active date",
 '31/07/2016' "Expiry date",

但是,当导出为CSV文件时,将替换为" Active_date"这会导致导入错误。有没有人知道我可以阻止用_替换空格的方法,或者这是不能改变的东西?

2 个答案:

答案 0 :(得分:3)

是可以使用列标题中的空格导出为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

第2步:
修改报表服务器上的RSReportServer.config文件,以自定义CSV导出到排除标题

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>

保存。现在,您有另一个下拉导出选项 CSV No Header 以及CSV,PDF,XML。用户可以使用此选项以CSV中的空格提取CSV数据。

MSDN Link to customize Rendering extension

答案 1 :(得分:0)