有没有办法从SSRS报告导出到excel,以便只在excel导出中省略显示在报告第一页上的标题?目前,它将冻结的框架添加到工作表的顶部。
答案 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.Cells或OfficeWriter - 我没有使用任何一种产品,我只知道它们的存在。
或者对于真正勇敢的人,你可以create your own custom renderer
答案 1 :(得分:0)
遗憾的是,Reporting Services 2000,2005和2008无法根据用户选择的呈现方法更改报告结果。这意味着您唯一的选择是为报告提供一个隐藏或显示标题的参数。
如果用户通过报表管理器访问报表,那么这通常不是一个合理的解决方案,并且没有很好的解决方案。如果您正在运行将报表呈现给Excel并通过电子邮件,文件共享或SharePoint提供报表的订阅,则此方法足以解决问题。
如果有人为此编写了解决方案,我愿意为自定义渲染方法扩展支付少量资金。但到目前为止,我还没有看到一组实现此目的的代码。
答案 2 :(得分:0)
关于我在克里斯答案中应用配置模式的经验的一些注意事项:
如果您的报告是由报告向导生成的,请注意该向导会将报告的“标题”文本放在正文中,而不是标题中。因此,请确保您的标题实际位于标题部分。
我发现使用VS 2008报告预览不会显示导出时的更改。但是,当我回到浏览我的网页(其中包含一个ReportViewer控件)时,我按Ctrl + F5然后按预期导出。
不要忘记重新部署报告。