【发布时间】:2009-02-06 19:07:54
【问题描述】:
有没有办法从 SSRS 报告导出到 excel,以便仅在 excel 导出中省略显示在报告第一页上的标题?目前,它会在工作表的顶部添加一个冻结的框架。
【问题讨论】:
标签: excel reporting-services reportingservices-2005
有没有办法从 SSRS 报告导出到 excel,以便仅在 excel 导出中省略显示在报告第一页上的标题?目前,它会在工作表的顶部添加一个冻结的框架。
【问题讨论】:
标签: excel reporting-services reportingservices-2005
更新
另见我的回答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.Cells 或 OfficeWriter - 我没有使用过这两种产品,我只知道它们的存在。
或者对于真正勇敢的人,你可以create your own custom renderer
【讨论】:
很遗憾,Reporting Services 2000、2005 和 2008 无法根据用户选择的呈现方法更改报表的结果。这意味着您唯一的选择是为报表提供一个隐藏或显示标题的参数。
如果用户通过报表管理器访问报表,那么这通常不是一个合理的解决方案,也没有很好的解决方案。如果您正在运行将报表呈现到 Excel 并通过电子邮件、文件共享或 SharePoint 传递报表的订阅,则此方法足以解决问题。
如果有人为此编写了解决方案,我愿意为自定义渲染方法扩展支付少量费用。但是到目前为止,我还没有看到一套代码可以达到这个目的。
【讨论】:
关于我在 Chris 的回答中应用 config mod 的经验的几点说明:
如果您的报告是由报告向导生成的,请注意向导将报告的“标题”文本放在正文中,而不是标题中。因此,请确保您的标题实际上位于标题部分中。
我发现使用 VS 2008 报告预览不会显示导出时的更改。但是,当我返回浏览我的网页(其中包含一个 ReportViewer 控件)时,我按了 Ctrl+F5,然后它按预期导出。
不要忘记重新部署您的报告。
【讨论】: