这是一个奇怪的请求,因为我们都知道数据库头不应该包含空格。 但是,我使用的系统需要在其标题中导入空格。 我创建了一个报表生成器报表,它将数据构建到表中,并在运行时运行。
'01/08/2015' "Active date",
'31/07/2016' "Expiry date",
但是,当导出为CSV文件时,将替换为" Active_date"这会导致导入错误。有没有人知道我可以阻止用_替换空格的方法,或者这是不能改变的东西?
答案 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数据。
答案 1 :(得分:0)