从SSRS导出到没有标题的Excel

时间:2009-02-06 19:07:55

标签: excel reporting-services reportingservices-2005

有没有办法从SSRS报告导出到excel,以便只在excel导出中省略显示在报告第一页上的标题?目前,它将冻结的框架添加到工作表的顶部。

3 个答案:

答案 0 :(得分:14)

<强>更新

另请参阅我的回答about how to add a new Excel rendering option that strips the header

原始答案如下:

如果您可以获取Excel输出的URL(某些版本的SSRS让浏览器显示它),您可以在末尾附加一些代码:

&rc:SimplePageHeaders=True

这会删除标题。这是一个派上用场的手动hack,或者你可以将它添加到rsreportserver.config文件中

<Render>
    <Extension Name="EXCEL" Type="Microsoft.ReportingServices.Rendering.ExcelRenderer.ExcelRenderer,Microsoft.ReportingServices.ExcelRendering">
        <Configuration>
            <DeviceInfo>
                <SimplePageHeaders>True</SimplePageHeaders>
            </DeviceInfo>
        </Configuration>
    </Extension>
</Render>

没有Aspose.CellsOfficeWriter - 我没有使用任何一种产品,我只知道它们的存在。

或者对于真正勇敢的人,你可以create your own custom renderer

答案 1 :(得分:0)

遗憾的是,Reporting Services 2000,2005和2008无法根据用户选择的呈现方法更改报告结果。这意味着您唯一的选择是为报告提供一个隐藏或显示标题的参数。

如果用户通过报表管理器访问报表,那么这通常不是一个合理的解决方案,并且没有很好的解决方案。如果您正在运行将报表呈现给Excel并通过电子邮件,文件共享或SharePoint提供报表的订阅,则此方法足以解决问题。

如果有人为此编写了解决方案,我愿意为自定义渲染方法扩展支付少量资金。但到目前为止,我还没有看到一组实现此目的的代码。

答案 2 :(得分:0)

关于我在克里斯答案中应用配置模式的经验的一些注意事项:

  1. 如果您的报告是由报告向导生成的,请注意该向导会将报告的“标题”文本放在正文中,而不是标题中。因此,请确保您的标题实际位于标题部分。

  2. 我发现使用VS 2008报告预览不会显示导出时的更改。但是,当我回到浏览我的网页(其中包含一个ReportViewer控件)时,我按Ctrl + F5然后按预期导出。

  3. 不要忘记重新部署报告。