0

在新的 sql server 报告 2012 (ssrs 2012) 中,我有一个仪表板报告,用户将各种页面导出到 Excel。用户希望能够对他们的 Excel 电子表格上的数据进行排序。但是,他们收到有关合并单元格的错误消息。

到目前为止,为了解决这个问题,我已经更改了一些没有报告标题的测试 ssrs 20012 报告。报表具有的唯一类型的标题是列标题。当只有列标题时,我可以将报告导出到 Excel 并对所有数据列进行排序。

我在测试 ssrs 2012 报告中删除的是与报告的详细信息行宽度相同的报告标题。此外,我删除了“子类别”报告标题,它们共同构成与详细信息行相同的宽度。

原始报告如下所示:

                        Customer Purchase Order

    customer name: customer name1
    customer number: customer number1

    item       item               quantity       unit
    number     description         ordered        price
     1234         item_kind           2           $10

你能告诉我是否有一种方法可以保留任何现有的报告标题吗?如果是这样,你能告诉我如何保留报告标题吗?

如果我无法保留报表标题,您能告诉我如何将报表的客户名称、客户编号和名称导出到 Excel 中吗?我唯一能想到的就是将附加信息作为详细信息行信息。因此,明细行信息将包含以下内容:报表名称、客户名称、客户编号、项目编号、项目描述、订购数量、单价。

因此,您能否告诉我您是否对如何解决将 ssrs 2012 报告导出到 excel 并且用户可以对数据进行排序的问题有任何想法?

4

1 回答 1

0

正如其他用户所说,如果您导出到 csv 而不是 excel,它将展平数据并删除格式,因此标题信息应显示为导出数据中的额外列,并在每一行中重复。然后,您可以在 excel 中打开 csv。

SSRS 2012(可能还有 2008)中可用的另一个选项是使用内置变量“RenderFormat.Name”来控制导出和不导出的内容。将客户编号和名称作为列添加到 tablix 中,然后在标题文本框上设置 hidden 属性以在 excel 导出中隐藏它们并显示,然后在新添加的字段上执行相反的操作。

标题项的隐藏属性如下所示:

=iif(Globals!RenderFormat.Name = "EXCEL", True, False)

并为列切换真假回合:

=iif(Globals!RenderFormat.Name = "EXCEL", False, True)

于 2014-01-02T16:22:05.843 回答