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的开发人员之一。