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)