【问题标题】:How to export specific SSRS tablix from textbox click如何从文本框单击导出特定的 SSRS tablix
【发布时间】:2021-06-13 15:35:34
【问题描述】:

我有一份包含多个图表和表格的报告。 我想在顶部放置一个文本框,点击后,它应该在 Excel 工作表上导出 particular tablix/matrix。 如果我能得到一些示例代码,那就太好了。

【问题讨论】:

    标签: reporting-services ssrs-tablix


    【解决方案1】:

    您可以使用 a 的组合来做到这一点

    • 渲染格式属性的隐藏参数。
    • RENDERFORMAT 属性
    • 用于操作导出的自定义 URL

    我们的想法是创建一个 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。在渲染隐藏属性时,仅会渲染配置的对象。

    注意事项:

    • 您必须部署报告来对此进行测试。
    • 这是从内存中完成的,因此未经测试。可能会有一些小错误,但我知道这个过程就像我过去所做的那样有效。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-02
      • 2020-04-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多