stu*_*net 4 sql reporting-services
有没有办法只在一个 SSRS报告上关闭CSV导出的标题?
我正在使用Report Builder 3,我从报告中删除了标题,但是当导出到CSV时,它们又回来了.我无法找到任何关闭它们的地方.
我已经看到了这个问题,但它似乎涵盖了服务器上的所有报告,我只需要关闭一些标题.
uh_*_*boi 14
无论您实现此(自定义程序集,自定义呈现扩展),您都需要触摸服务器上的某些配置文件,除非您使用URL发送deviceinfo参数,或者从外部应用程序以编程方式呈现报告.
更简单的方法是服务器范围,并且您可以单独保留当前的CSv扩展,并且非常容易实现.幸运的是,对你(和我)来说,这几乎可以完成任何代码.
由于这是CSV扩展的deviceinfo参数之一,您所要做的就是将以下代码行添加到RSReportServer.config文件中.您正在使用当前的CSV格式添加其他扩展程序.
<Extension Name="CSV" 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扩展代码行下方的行中,或者放在Render元素内的任何位置.
这将允许您使用该新扩展订阅报告或使用下拉菜单导出报告,因为sql server报告服务在填充下拉菜单时查询xml文件.
如果您使用按钮并实例化Reportexecutionservice,则无论如何都必须触摸配置文件才能使用.dll.
开箱即用的数据驱动订阅无法执行任何操作.可以编写自定义订阅扩展来执行此操作.您也无法直接从报表生成器导出任何内容,除非您做了一些聪明的事情,例如添加一个看起来像按钮的独立文本框,然后将操作与其关联,创建一个URL,以便您使用URL Access打开/呈现报表.您可以在此处查看一些信息:http://msdn.microsoft.com/en-us/library/ms155046.aspx.
使用URL访问,您可以传递CSV设备信息,在您的情况下NoHeader = true,根据http://msdn.microsoft.com/en-us/library/ms155365.aspx
添加这个:
<Extension Name="CSV (No Header)" 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)
到此处的配置文件:C:\Program Files\Microsoft SQL Server{INSTANCE}\Reporting Services\ReportServer\rsreportserver.config(在 部分中)
将在导出选项的下拉列表中创建另一个选项,但仍将使用 CSV 格式 (Microsoft.ReportingServices.DataRenderer),因此用户仍然可以为每个报告选择他们想要的格式。