如何在SSRS中导出没有标头的csv

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.


Sta*_*cia 7

开箱即用的数据驱动订阅无法执行任何操作.可以编写自定义订阅扩展来执行此操作.您也无法直接从报表生成器导出任何内容,除非您做了一些聪明的事情,例如添加一个看起来像按钮的独立文本框,然后将操作与其关联,创建一个URL,以便您使用URL Access打开/呈现报表.您可以在此处查看一些信息:http://msdn.microsoft.com/en-us/library/ms155046.aspx.

使用URL访问,您可以传递CSV设备信息,在您的情况下NoHeader = true,根据http://msdn.microsoft.com/en-us/library/ms15536​​5.aspx


g78*_*413 5

添加这个:

<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),因此用户仍然可以为每个报告选择他们想要的格式。

  • 很高兴能提供帮助,我应该补充一点,添加此内容后,我必须手动回收 SSRS 服务,然后它才会注意到配置更改。 (2认同)