SSRS:创建一个为导出到 Excel 而优化的报告
SSRS: creating a report optimized for exporting to Excel
我有一个客户需要一份可以导出到 excel 的特定报告。我还没有开始构建报告,但我认为最好的方法是让报告尽可能简单。这样客户端导出报表的时候应该比较干净
有没有人有什么建议?我已经为他创建了一份报告。我打算制作一份单独的报告,其唯一目的是导出到 excel。
编辑:我还应该提一下,原始报告是一份直截了当的报告。它有一些分组、报告页眉和页脚、描述(文本框)。我计划为 excel 优化报告删除所有这些。
我仍然会使用 url 对带有参数的报告进行自定义页脚。包括页脚将有助于 trouble-shooting 任何有关数据的问题,它不会显示在电子表格中,只有在预览或打印时才会显示。参考数据的来源以及如何重新创建数据总是好的。如果不是为了end-user,为了开发者。
=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 header 放在 Excel header 而不是网格中。
<Extension Name="EXCEL" Type="Microsoft.ReportingServices.Rendering.ExcelRenderer.ExcelRenderer,Microsoft.ReportingServices.ExcelRendering" Visible="false">
<Configuration>
<DeviceInfo>
<SimplePageHeaders>TRUE</SimplePageHeaders>
</DeviceInfo>
</Configuration>
</Extension>
您还可以将 header 和页脚中控件的可见性设置为以下表达式。
=IIF(Globals!RenderFormat.Name = "EXCEL" OR Globals!RenderFormat.Name = "EXCELOPENXML", TRUE, FALSE)
我有一个客户需要一份可以导出到 excel 的特定报告。我还没有开始构建报告,但我认为最好的方法是让报告尽可能简单。这样客户端导出报表的时候应该比较干净
有没有人有什么建议?我已经为他创建了一份报告。我打算制作一份单独的报告,其唯一目的是导出到 excel。
编辑:我还应该提一下,原始报告是一份直截了当的报告。它有一些分组、报告页眉和页脚、描述(文本框)。我计划为 excel 优化报告删除所有这些。
我仍然会使用 url 对带有参数的报告进行自定义页脚。包括页脚将有助于 trouble-shooting 任何有关数据的问题,它不会显示在电子表格中,只有在预览或打印时才会显示。参考数据的来源以及如何重新创建数据总是好的。如果不是为了end-user,为了开发者。
=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 header 放在 Excel header 而不是网格中。
<Extension Name="EXCEL" Type="Microsoft.ReportingServices.Rendering.ExcelRenderer.ExcelRenderer,Microsoft.ReportingServices.ExcelRendering" Visible="false">
<Configuration>
<DeviceInfo>
<SimplePageHeaders>TRUE</SimplePageHeaders>
</DeviceInfo>
</Configuration>
</Extension>
您还可以将 header 和页脚中控件的可见性设置为以下表达式。
=IIF(Globals!RenderFormat.Name = "EXCEL" OR Globals!RenderFormat.Name = "EXCELOPENXML", TRUE, FALSE)