Добро пожаловать в мой блог! Изначально он не задумывался как блог CRM разработчика, но жизнь сама внесла нужные коррективы. Тут я публикою все свои наблюдения относительно обозначенных в заголовке систем. Если Вы найдете в нем что-то интересное для Вас, как для заказчика, то буду рад сотрудничать с Вами! В моей компетенции 100% задач по MS CRM 3.0/4.0/2011:
MVP 2010, 2011
- Консалтинг
- Проектирование
- Разработка
- Обучение
MVP 2010, 2011
Форматирование отчетов под экспорт в Excel. Часть вторая, не последняя
Запись от Артем Enot Грунин размещена 22.03.2013 в 08:50
Теги bug, development, reports
Общеизвестно, что невозможно сделать отчет, который бы одинаково хорошо смотрелся как в Веб, так и при экспорте в другие форматы. Виной тому абсолютное форматирование разметки отчета и ряд заложенных в дизайн продукта спорных решений.
Тем не менее, иногда хочется совместить: получить какое-то адекватное "превью", где можно применить интерактивные элементы, но при экспорте скрыть все лишнее. Начиная с SSRS 2005 это достаточно просто сделать. За понимание того, в каком формате ведется рендеринг отчета отвечает глобальная переменная RenderFormat.Name. Например, можно сделать такую проверку:
которая очень популярна в интернет примерах.
Ловушка заключается в том, что в SSRS 2012 экспорт в формат Excel по умолчанию выключен. Вместо него используется новый формат Excel 2007-2010 и называется он EXCELOPENXML. Поэтому, правильный вариант проверки должен быть следующим:
Корректные имена расширений для экспорта можно посмотреть в файле rsreportserver.config. Файл доступен по адресу:
p.s. Как видно на снимке экрана, это же касается и старого формата Word.
Тем не менее, иногда хочется совместить: получить какое-то адекватное "превью", где можно применить интерактивные элементы, но при экспорте скрыть все лишнее. Начиная с SSRS 2005 это достаточно просто сделать. За понимание того, в каком формате ведется рендеринг отчета отвечает глобальная переменная RenderFormat.Name. Например, можно сделать такую проверку:
X++:
Globals!RenderFormat.Name = "EXCEL"
Ловушка заключается в том, что в SSRS 2012 экспорт в формат Excel по умолчанию выключен. Вместо него используется новый формат Excel 2007-2010 и называется он EXCELOPENXML. Поэтому, правильный вариант проверки должен быть следующим:
X++:
(Globals!RenderFormat.Name = "EXCEL") OrElse (Globals!RenderFormat.Name = "EXCELOPENXML")
X++:
.. SQL Server\MSRS11.MSSQLSERVER\Reporting Services\ReportServer
X++:
\Configuration\Extensions\Render
p.s. Как видно на снимке экрана, это же касается и старого формата Word.
Всего комментариев 0