1

我正在为我的雇主编写一份报告,最终产品是 SSRS 报告,但几乎总是会导出到 Excel 以供进一步操作。在此报告中,有一行实际上只是基于其他单元格值的一行计算。

我读过 Reporting Services 可以“找出” Excel 公式,并且只要您的单元格值表达式不包含数据库字段引用,只包含报告项引用,就会生成并插入它们。

好吧,我已经做到了,但我仍然无法通过公式。我已经尝试以我能想到的所有方式呈现报告,并且我尝试修改 DeviceInfo 参数以包含OmitFormulas设置为 的选项False,但我仍然是空的。我什至尝试使用硬编码值创建一个非常简单的基于表格的报告,即使这样我也没有得到公式。

这是我的报告中的一个示例表达式:

=(ReportItems!Balance2.Value + ReportItems!Supply3.Value) - ReportItems!Demand3.Value

我的环境是在 SSRS 2008(未完全修补)上运行的 VS 2008(完全修补/更新)。我已经和服务器管理员谈过了,他说它正在运行 CU1(我想,不记得了)。我们公司的Excel是2007版。

我真的在这里无所适从,所以我希望那里有人以前处理过这个问题并可以给我一个答案。谢谢!

4

3 回答 3

1

我也试过这个,这里的问题是 SSRS 2008 根本不支持这个功能。的确,在早期版本的 SSRS 中它得到了一定程度的支持(2005 年),但是他们在以后的版本中取消了它......太糟糕了......

见链接: http ://social.msdn.microsoft.com/Forums/en/sqlreportingservices/thread/ddf2f19d-3f70-4bb0-a035-00709ffee2f9

于 2011-07-20T07:19:42.267 回答
1

如果您知道单元格地址,我找到了一种方法,尽管这有点麻烦。在您的报告中,将单元格公式作为字符串输入,前面带有撇号,即 Excel 中的“这是文本”转义字符:

="'=A2+A3"

当您导出到 Excel 时,撇号将不可见,但公式显示为文本:

=A2+A3

现在,如果您执行查找/替换并删除撇号(替换为空),公式将正确计算。

于 2012-12-12T19:21:25.073 回答
-1

SSRS 在 Excel 内容方面有很多限制。正如您提到的,Excel 公式甚至图表都呈现为图像而不是 Excel 图表。

看到你提到你想要一个在 SSRS 中工作的报告,但总是会导出到 Excel,你真的应该在http://www.officewriter.com/上查看OfficeWriter 。

OfficeWriter 可以与 SSRS 集成,并允许您导出完整的保真 Excel 文档。我的意思是你可以有 Excel 公式,而不是渲染的 SSRS 公式,或者真正的 Excel 图表而不是渲染的图像。如果您的数据在文件被 SSRS 呈现和打开后发生更改,这些类型的事情不会改变。

如果最终用户进行了“进一步的操作”,那就太好了,他们可以更改数字,公式将重新计算,图表将更新。

如果“进一步操作”是程序化的,那么您可以使用 OfficeWriters API 继续操作文档。

你可能想看看,我讨厌你无所适从。

免责声明:我是 OfficeWriter 的开发人员之一。

于 2012-12-12T20:40:24.913 回答