我有一个客户需要一个可以导出到excel的特定报告。我还没有开始构建报告,但我认为最好的方法是尽可能简化报告。这样,当客户端导出报表时,它应该相对干净。
有人有任何建议吗?我已经为他创建了一份报告。我打算单独发布报告,其唯一目的是出口到excel。
编辑:我还应该提到原始报告是一个简单的报告。它有一些分组,报告页眉和页脚,描述(文本框)。我计划为excel优化报告删除所有这些内容。
答案 0 :(得分:2)
我仍然会使用带参数的报告网址自定义页脚。包括页脚将有助于解决有关数据的任何问题,并且只有在预览或打印时才会在电子表格中显示。引用数据的来源以及如何重新创建数据总是好的。如果不是最终用户,那么对于开发者来说。
=Globals!ReportServerUrl + "/ReportServer?"
+ Replace(Globals!ReportFolder, " ", "+") + "%2f"
+ Replace(Globals!ReportName, " ", "+") + "&rs:Command=Render"
+ "&single_value_parameter=" + Parameters!single_value_parameter.Value
+ "&multi_value_parameter=" + Join(Parameters!multi_value_parameter.Value, "&multi_value_parameter=")
+ IIf(IsNothing(Parameters!week_date_start.Value), "&week_date_start:isnull=True", "&week_date_start=" & Format(Parameters!week_date_start.Value, Variables!FormatDate.Value))
+ IIf(IsNothing(Parameters!week_date_end.Value), "&week_date_end:isnull=True", "&week_date_end=" & Format(Parameters!week_date_end.Value, Variables!FormatDate.Value))
另外,我通常将其添加为报表变量,然后您可以为页脚添加标准文本框,而不必更改。
=Variables!UrlReportWithParameters.Value
在报表服务器上,您还可以更改导出配置,以将SSRS标题放在Excel标题中而不是网格中。
<Extension Name="EXCEL" Type="Microsoft.ReportingServices.Rendering.ExcelRenderer.ExcelRenderer,Microsoft.ReportingServices.ExcelRendering" Visible="false">
<Configuration>
<DeviceInfo>
<SimplePageHeaders>TRUE</SimplePageHeaders>
</DeviceInfo>
</Configuration>
</Extension>
您还可以将页眉和页脚中控件的可见性设置为以下表达式。
=IIF(Globals!RenderFormat.Name = "EXCEL" OR Globals!RenderFormat.Name = "EXCELOPENXML", TRUE, FALSE)