在新的sql server report 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的问题,用户可以对数据进行排序吗?
答案 0 :(得分:0)
正如其他用户所说,如果您导出到csv而不是excel,它将展平数据并删除格式,因此标题信息应在导出数据中显示为额外列,并在每行重复。然后,您可以在Excel中打开csv。
SSRS 2012(可能还有2008年)中提供的另一个选项是使用内置变量“RenderFormat.Name”来控制输出和输出的内容。将客户编号和名称添加到Tablix作为列,然后在标题文本框上设置隐藏属性以在excel导出中隐藏它们,否则在新添加的字段中执行相反的操作。
标题项的隐藏属性如下所示:
= iif(Globals!RenderFormat.Name =“EXCEL”,True,False)
对于列切换真假轮次:
= iif(Globals!RenderFormat.Name =“EXCEL”,False,True)