前段时间,工作中有个需求,要求Reporting报表导出格式为txt格式,以竖线(|)分割,而报表系统默认是没有导出txt格式的。
通过查看资料,终于找到通过修改配置文件,可以实现导出txt格式文件,而且还可以自定义分隔符。
扩展report导出格式(txt)方法:
a, 备份<SQL Server安装位置>\MSSQL.3\Reporting Services\ReportServer\rsreportserver.config文件
b, 用记事本或者UltraEdit打开rsreportserver.config文件找到<Render>节点,
在<Extension Name="CSV" ... />子节点后面(另起一行)加入下面的内容:
<Extension Name="TXT" Type="Microsoft.ReportingServices.Rendering.CsvRenderer.CsvReport,Microsoft.ReportingServices.CsvRendering">
<OverrideNames>
<Name Language="zh-CHS">TXT file(Separate with '|')</Name>
</OverrideNames>
<Configuration>
<DeviceInfo>
<FieldDelimiter>|</FieldDelimiter>
<Extension>txt</Extension>
</DeviceInfo>
</Configuration>
</Extension>
说明:
<Name Language="zh-CHS">TXT file(Separate with '|')</Name> ===>这个是在页面上导出格式下拉选择中显示的名称(注:这个地方好像不能用汉字,我尝试了好多次都没成功)
<FieldDelimiter>|</FieldDelimiter> ===>这里表示自定义分割符为“|”
<Extension>txt</Extension> ===>导出文件为txt后缀,对SQL Server 2008 标签名是<FileExtension>。
这里只能是文本文件类格式,因为Type="Microsoft.ReportingServices.Rendering.CsvRenderer.CsvReport,Microsoft.ReportingServices.CsvRendering" ,只能导出平面文本文件。
另外还可以配置一些其他的参数,比如NoHeader=ture不显示头部标题行
具体参见http://msdn.microsoft.com/zh-cn/library/ms155365(v=SQL.90).aspx ,
2008版 http://msdn.microsoft.com/zh-cn/library/ms155365(v=SQL.100).aspx