Формулы Excel не создаются службами отчетов - PullRequest
1 голос
/ 19 июля 2011

Я работаю над отчетом для моего работодателя, где конечным продуктом является отчет SSRS, но который почти ВСЕГДА будет экспортирован в Excel для дальнейшей обработки. В этом отчете есть строка, которая на самом деле является просто строкой вычислений на основе других значений ячеек.

Я читал, что службы Reporting Services могут «вычислять» формулы Excel, а также генерировать и вставлять их, где это возможно, при условии, что ваши выражения для значения ячейки не содержат ссылок на поля базы данных, только ссылки на элементы отчета.

Ну, я сделал это, и я все еще не могу получить формулы, чтобы пройти. Я пытался отобразить отчет всеми возможными способами, и я попытался изменить параметры DeviceInfo, чтобы включить параметр OmitFormulas, установленный в False, и все же я оказался пустым. Я даже пытался создать ОЧЕНЬ простой табличный отчет с жестко закодированными значениями, и даже тогда я не получаю формул.

Вот пример выражения из моего отчета:

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

Моей средой является VS 2008 (полностью исправленный / обновленный), работающий на SSRS 2008 (не полностью исправленный). Я разговаривал с администратором сервера, и он говорит, что на нем запущен CU1 (думаю, точно не помню). Excel нашей компании - версия 2007.

Я действительно нахожусь в своем уме, поэтому я надеюсь, что кто-то там уже имел дело с этим и может дать мне ответ. Спасибо!

Ответы [ 3 ]

1 голос
/ 12 декабря 2012

Я нашел способ сделать это, если вы знаете адреса ячеек, хотя это немного хакерство.В своем отчете введите формулу ячейки в виде строки, перед которой стоит апостроф, управляющий символ «это текст» в Excel:

="'=A2+A3"

При экспорте в Excel апостроф будет невидимым, но формулаотображается как текст:

=A2+A3

Теперь, если вы выполните поиск / замену и удалите апострофы (ничего не заменяете), формулы будут рассчитаны правильно.

1 голос
/ 20 июля 2011

Я также пробовал это, проблема здесь в том, что SSRS 2008 просто не поддерживает эту функцию.Это правда, что в более ранних версиях SSRS он был несколько поддержан (2005), однако в более поздних версиях это было исправлено ... очень плохо ..

см. Ссылку: http://social.msdn.microsoft.com/Forums/en/sqlreportingservices/thread/ddf2f19d-3f70-4bb0-a035-00709ffee2f9

0 голосов
/ 13 декабря 2012

SSRS имеет довольно много ограничений, когда речь идет о содержимом Excel. Как вы упомянули, например, формулы Excel или даже диаграммы отображаются в виде изображений вместо диаграмм Excel.

Поскольку вы упомянули, что вам нужен отчет, который работает в SSRS, но всегда будет экспортироваться в Excel, вам действительно нужно оформить заказ OfficeWriter на http://www.officewriter.com/.

OfficeWriter может интегрироваться с SSRS и позволит вам экспортировать документ Excel в полном объеме. Я имею в виду, что у вас могут быть формулы Excel, а не отображаемые формулы SSRS или реальные диаграммы Excel, а не отображаемое изображение. Эти типы вещей не изменятся, если ваши данные изменятся после того, как файл будет обработан и открыт SSRS.

Если конечные пользователи совершают «дальнейшие манипуляции», тогда это замечательно, они могут менять цифры, и формулы пересчитываются, а диаграммы обновляются.

Если «дальнейшие манипуляции» являются программными, то вы можете использовать API-интерфейс OfficeWriters для продолжения манипулирования документом.

Возможно, вы захотите взглянуть на это, я не хочу, чтобы вы были на коне.

ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ: Я один из разработчиков OfficeWriter.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...