【发布时间】:2021-06-13 15:35:34
【问题描述】:
我有一份包含多个图表和表格的报告。 我想在顶部放置一个文本框,点击后,它应该在 Excel 工作表上导出 particular tablix/matrix。 如果我能得到一些示例代码,那就太好了。
【问题讨论】:
标签: reporting-services ssrs-tablix
我有一份包含多个图表和表格的报告。 我想在顶部放置一个文本框,点击后,它应该在 Excel 工作表上导出 particular tablix/matrix。 如果我能得到一些示例代码,那就太好了。
【问题讨论】:
标签: reporting-services ssrs-tablix
您可以使用 a 的组合来做到这一点
我们的想法是创建一个 URL,该 URL 将使用一个参数值来运行您的报表,该参数值确定要呈现的对象。
创建报告,然后根据需要添加表格/图表。
接下来,创建一个名为PrintOption的参数并将默认值设置为0
例如,如果我们想要一个仅打印表格的选项,那么我们可以说...
“当 PrintOption = 1 并导出到 excel 时显示表格”。由于我们必须设置“隐藏”属性,我们只需要反转逻辑并说
“当 PrintOption 参数为 1 并且我们正在导出到 excel 时,将隐藏属性设置为 False,否则将其设置为 false”。其实这还是不太对,因为我们还想在格式为 RPL(交互式)时展示它
所以,在要导出的表的隐藏属性中,当参数为 1 时,将表达式设置为此
=IIF(
Parameters!PrintOption.Value = 1
AND (Globals!RenderFormat.Name = "EXCELOPEMXML" OR Globals!RenderFormat.Name = "EXCEL"),
False,
IIF(Globals!RenderFormat.Name =RPL", False, True)
)
对其他“对象组”重复该过程,将 PrintOption.Value 设置为您希望导出该对象的值。
接下来,为每组对象创建一个文本(因此,对于上面使用的每个 PrintOption 值,创建一个单独的文本框。根据需要标记文本框,例如“仅导出表”
在文本框属性中,将“操作”设置为 URL,然后单击功能 ('fn') 按钮。将表达式设置为
=Globals!ReportServerUrl & "?"
& Globals!ReportFolder & "/"
& Globals!ReportName
& "&PrintOption=1"
& "&rs:Format=EXCELOPENXML"
对每个文本框重复,每次更改 PrintOption 编号。
最后,您可以选择将参数设置为隐藏,但我通常会先测试所有可见的参数。
当您单击该按钮时,它将打开生成的 url,该 url 将使用所选参数运行报告并将文件保存为 Excel。在渲染隐藏属性时,仅会渲染配置的对象。
注意事项:
【讨论】: