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

时间:2012-07-17 22:44:35

标签: sql reporting-services

是否有办法在一个 SSRS报告上关闭CSV导出标题?

我正在使用报表生成器3,我从报表中删除了标题,但在导出到CSV时,它们又回来了。我无法找到任何关闭它们。

我见过this question,但它似乎涵盖了服务器上的所有报告,我只需要关闭一些标题。

4 个答案:

答案 0 :(得分:12)

但是,如果实现此(自定义程序集,自定义呈现扩展),则需要触摸服务器上的某些配置文件,除非您使用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>

将其放在已经存在的CSV扩展代码行下方的行中,或者放在Render元素内的任何位置。

这将允许您使用该新扩展名订阅报告或使用下拉菜单导出报告,因为sql server reporting services在填充下拉菜单时会查询该xml文件。

如果您使用按钮并实例化Reportexecutionservice,则必须触摸配置文件才能使用.dll。

答案 1 :(得分:6)

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

使用网址访问,您可以传递CSV设备信息,根据您的情况,NoHeader = true,按http://msdn.microsoft.com/en-us/library/ms155365.aspx

答案 2 :(得分:4)

添加:

<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>

到这里的配置文件:C:\ Program Files \ Microsoft SQL Server {INSTANCE} \ Reporting Services \ ReportServer \ rsreportserver.config(在本节中)

将在导出选项的下拉列表中创建另一个选项,但仍将使用CSV格式(Microsoft.ReportingServices.DataRenderer),以便用户仍然可以选择每个报告所需的格式。

答案 3 :(得分:1)

对于那些仅使用URL访问来寻找导出选项的用户(如@Stacia所建议的那样),您可以请求不带标头选项的CSV导出,只需在请求中包括以下内容即可: rc:NoHeader (命名空间为rc:不是rs:)

示例网址:http://localhost/ReportServer/?ReportName&rs:Command=Render&rs:Format=CSV&rc:NoHeader=true