13

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

4

3 回答 3

14

更新

另请参阅我关于如何添加去除标题的新 Excel 呈现选项的答案

原答案如下:

如果您可以获得 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 - 我没有使用过这两种产品,我只知道它们的存在。

或者对于真正勇敢的人,您可以创建自己的自定义渲染器

于 2009-02-12T10:35:04.287 回答
0

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

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

如果有人为此编写了解决方案,我愿意为自定义渲染方法扩展支付少量费用。但是到目前为止,我还没有看到一套代码可以达到这个目的。

于 2009-02-06T19:45:13.257 回答
0

关于我在克里斯的回答中应用配置模式的经验的几点说明:

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

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

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

于 2012-11-26T10:33:02.743 回答