Excel公式不是由Reporting Services生成的
我正在为最终产品是SSRS报告的雇主编写一份报告,但几乎总是将其导出到Excel以供进一步操作。 在这个报告中,有一行实际上只是基于其他单元格值的一系列计算。
我读过Reporting Services可以“计算出”Excel公式,只要您的expression式的单元格的值不包含数据库字段引用,只报告项目引用,就会生成并插入它们。
那么,我已经做到了这一点,我仍然无法让公式通过。 我已经试过了我能够想到的每一种方式来渲染报告,而且我尝试了修改DeviceInfo参数,以包含OmitFormulas
选项设置为False
,但我仍然空着。 我甚至尝试用硬编码的值创build一个非常简单的基于表格的报告,即使如此,我也没有得到公式。
以下是我的报告中的示例expression式:
=(ReportItems!Balance2.Value + ReportItems!Supply3.Value) - ReportItems!Demand3.Value
我的环境是在SSRS 2008上运行的VS 2008(完整修补/更新)(未完全修补)。 我已经跟服务器pipe理员说过了,他说它正在运行CU1(我想,记不得了)。 我们公司的Excel是2007版本。
我真的在这里结束了智慧,所以我希望以前有人处理过这个问题,可以给我一个答案。 谢谢!
我也试过这个,这里的问题是SSRS 2008根本不支持这个function。 确实,在SSRS的早期版本中,它得到了某种程度的支持(2005年),但是他们在后来的版本中把它们拿出来了……太糟糕了。
请参阅链接: http : //social.msdn.microsoft.com/Forums/en/sqlreportingservices/thread/ddf2f19d-3f70-4bb0-a035-00709ffee2f9
我发现了一种方法来做到这一点,如果你知道单元格的地址,虽然这是一个黑客。 在您的报告中,input单元格公式作为前面加撇号的string,在Excel中为“this is text”转义字符:
="'=A2+A3"
当您导出到Excel中时,撇号将不可见,但公式显示为文本:
=A2+A3
现在,如果您执行查找/replace并删除撇号(replace为空),公式将正确计算。
对于Excel内容,SSRS有很多限制。 正如你所提到的Excel公式甚至图表,例如呈现为图像,而不是Excel图表。
看到你提到你想要一个可以在SSRS中工作的报告,但是总会被导出到Excel,你应该真正的在Officeoffler上检出Officeoffler在http://www.officewriter.com/ 。
OfficeWriter可以与SSRS集成,并允许您导出完整的保真度Excel文档。 由此我的意思是你可以有Excel公式,而不是渲染的SSRS公式,或真正的Excel图表不是渲染的图像。 如果您的数据在文件被SSRS呈现并打开后发生更改,则这些types的内容不会更改。
如果最终用户发生“进一步操纵”,那么这是很好的,他们可以改变数字,公式将重新计算,图表将会更新。
如果“进一步操作”是编程式,则可以使用OfficeWriters API继续操作文档。
你可能想看看,我讨厌你的智慧。
免责声明:我是OfficeWriter的开发人员之一。