Поделиться через


Экспорт в Microsoft Excel

Модуль подготовки отчетов в формате Excel подготавливает отчеты, совместимые с Microsoft Excel 97 и более поздними версиями. При экспорте отчетов в электронные таблицы Excel некоторые элементы макета теряются, как это описывается в этом разделе. Форматом для подготовки отчетов Microsoft Excel является BIFF (Binary Interchange File Format). Файлы, формируемые данным модулем подготовки отчетов, имеют следующий тип содержимого: application/vnd.ms-excel. Файлы, формируемые этим модулем подготовки отчетов, имеют следующее расширение: XLS.

Примечание по безопасностиПримечание по безопасности

Если определен параметр с типом String, пользователь может ввести в текстовое поле любое значение. Если параметр отчета не привязан к параметру запроса, но значения этого параметра включены в отчет, пользователь может ввести в качестве значения этого параметра синтаксическое выражение, сценарий или URL-адрес и подготовить отчет к просмотру в приложении Excel. Если затем другой пользователь при просмотре отчета щелкнет содержимое параметра, он может неумышленно выполнить вредоносный сценарий или перейти по ссылке.

Чтобы снизить риск неумышленного выполнения вредоносного сценария, открывайте готовые для просмотра отчеты только из доверенных источников. Дополнительные сведения о защите отчетов см. в разделе Обеспечение безопасности отчетов и ресурсов.

Элементы отчета в Excel

Прямоугольники, вложенные отчеты, текст отчета и области данных преобразуются в диапазон ячеек Excel. Текстовые поля, изображения и диаграммы должны быть помещены в одну ячейку Excel; в зависимости от особенностей макета отчета ячейки могут быть объединены.

Изображения, диаграммы и линии располагаются в пределах одной ячейки Excel, однако они располагаются поверх сетки ячеек. Линии отображаются как границы ячеек.

Разбивка на страницы

Этот модуль подготовки отчетов поддерживает только логические разрывы страниц. Для каждого явно определенного логического разрыва страницы создается новая вкладка с листом Excel.

Именование страниц

Если в книге присутствует только один лист (за исключением схемы документа), то именем отчета становится имя листа.

Если кроме схемы документа в книге содержится несколько листов, то листам присваиваются имена ЛистХ, где Х — это номер листа в книге. Например, имя пятого листа будет — Лист5.

Изменение размера страницы

Модуль подготовки отчетов в формате Excel использует настройки высоты и ширины страницы для определения того, какую настройку бумаги следует задать в листе Excel. Excel пытается подогнать параметры PageHeight и PageWidth под наиболее распространенные размеры бумаги.

Если это сделать не удается, Excel использует размер страницы по умолчанию для принтера. Если ширина страницы меньше, чем ее высота, то устанавливается книжная ориентация; в противном случае устанавливается альбомная ориентация.

Свойства документа

Модуль подготовки отчетов Excel записывает в файл Excel следующие метаданные.

Свойства элемента отчета

Описание

Created

Дата и время выполнения отчета со значением в формате ISO.

Author

Report.Author

Description

Report.Description

LastSaved

Дата и время выполнения отчета со значением в формате ISO.

Верхние и нижние колонтитулы

В зависимости от значения настройки SimplePageHeaders в настройках сведений об устройстве верхний колонтитул страницы может быть создан в одном из двух мест: над верхним краем сетки ячеек каждого листа, либо в области верхнего колонтитула листа Excel. По умолчанию верхний колонтитул создается в сетке ячеек листа Excel.

Нижний колонтитул страницы всегда создается в области нижнего колонтитула листа Excel, вне зависимости от значения настройки SimplePageHeaders.

В области верхнего и нижнего колонтитулов Excel допускаются значения с максимальной длиной в 256 символов, включая разметку. Если данное максимальное число превышается, то модуль подготовки отчетов Excel сокращает общее число символов, удаляя символы разметки, начиная с конца строки верхнего и нижнего колонтитулов. Если после удаления всех символов разметки длина все еще превышает максимальную длину, то строка усекается, начиная с правого края.

Настройки SimplePageHeaders

По умолчанию настройка сведений об устройстве SimplePageHeaders имеет значение False, поэтому колонтитулы вставляются в отчет в виде строк на лист Excel. Строки листа, содержащие верхние колонтитулы, блокируются. Эту область можно закрепить или освободить в Excel. Если выбран параметр Печатать заголовки, то верхние колонтитулы будут автоматически печататься на каждой странице листа.

Если на вкладке «Параметры страницы» в Excel был выбран параметр Печатать заголовки, то верхний колонтитул страницы будет отображен на всех листах книги, кроме листа со схемой документа. Если параметр Печать на первой странице или Печать на последней странице в диалоговом окне «Свойства верхнего колонтитула отчета» или «Свойства нижнего колонтитула отчета» не был выбран, то соответствующий колонтитул не будет добавлен на первую или последнюю страницу.

Нижние колонтитулы отображаются в области нижних колонтитулов Excel.

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

Интерактивность

В Excel поддерживаются некоторые интерактивные элементы. Ниже приведено описание особенностей их поведения.

Показать и скрыть

Microsoft Excel имеет ограничения по управлению скрытыми и отображаемыми элементами отчета при их экспорте. Группы, строки и столбцы, содержащие переключаемые элементы отчета, преобразуются в структуры Excel. Excel создает структуры, расширяющие или сворачивающие строки и столбцы по всей их длине, что может привести к свертыванию элементов отчета, не подлежащих свертыванию. Кроме того, символы структурирования Excel могут стать загроможденными при наличии множества перекрывающихся структур. Для решения данных проблем при использовании модуля подготовки отчетов в формате Excel применяются следующие правила структурирования.

  • Переключаемый элемент отчета, расположенный в верхнем левом углу, может быть переключен в Excel. Переключаемые элементы отчета, находящиеся в одной строке или столбце с переключаемым элементом отчета, расположенным в верхнем левом углу, не могут быть переключены в Excel.

  • Для определения того, будет ли возможно свертывание области данных по строкам или столбцам, производится определение расположения элемента отчета, управляющего переключением, и переключаемого элемента отчета. Если элемент, управляющий переключением, находится до переключаемого элемента, то свертка элемента по строкам возможна. В противном случае элемент может быть свернут только по столбцам. Если элемент, управляющий переключением, находится рядом или выше переключаемой области, этот элемент может быть отображен со строкой, сворачиваемой по строкам.

  • Для определения места, в которое будут помещены подытоги в отчете, готовом для просмотра, модуль подготовки отчетов проверяет первый экземпляр динамического элемента. Если непосредственно над ним присутствует одноуровневый статический элемент, считается, что динамический элемент является подытогом. Структуры настраиваются на отображение данного места в качестве итоговых данных. Если у динамического элемента нет статических одноуровневых элементов, то подытогом будет первый экземпляр элемента.

  • В связи с ограничениями Excel, структуры могут иметь не больше семи уровней вложения.

Схема документа

Если в отчете существуют метки схемы документа, то происходит отображение схемы документа. Схема документа будет отображена в виде титульного листа Excel, вставленного на позицию первой вкладки в книге. Этому листу присваивается имя Схема документа.

Текст, отображаемый в схеме документа, определяется свойством DocumentMapLabel элемента отчета или группы. Метки схемы документа перечисляются в том порядке, в котором они появляются в отчете, начиная с первой строки в первом столбце. Каждая ячейка метки схемы документа углубляется настолько, насколько глубоко (по уровням) она расположена в отчете. При углублении на каждый последующий уровень происходит перемещение метки в следующий столбец. В Excel поддерживается до 256 уровней вложения структур.

Схема документа отображается в виде свертываемой структуры Excel. Структура совпадает с вложенной структурой схемы документа. Развернутое и свернутое состояния структуры начинаются со второго уровня.

Корневой узел схемы — это имя отчета, <reportname>.rdl; он не является интерактивным. В ссылках схемы документа используется шрифт Arial, 10 пт.

Ссылки детализации

Ссылки детализации, появляющиеся в текстовых полях, преобразуются в гиперссылки Excel в ячейках, содержащих текст. Ссылки детализации для изображений и диаграмм преобразуются в гиперссылки Excel на изображение. При щелчке ссылки детализации открывается веб-обозреватель по умолчанию и осуществляется переход к целевому HTML-представлению.

Гиперссылки

Гиперссылки, появляющиеся в текстовых полях, преобразуются в гиперссылки Excel в ячейках, содержащих текст. Гиперссылки для изображений и диаграмм преобразуются в гиперссылки Excel на изображение. При щелчке гиперссылки открывается веб-обозреватель по умолчанию и осуществляется переход по целевому URL-адресу.

Интерактивная сортировка

Excel не поддерживает интерактивную сортировку.

Закладки

Ссылки закладок в текстовых полях преобразуются в гиперссылки Excel в ячейках, содержащих текст. Ссылки закладок для изображений и диаграмм преобразуются в гиперссылки Excel на изображение. При щелчке закладки выполняется переход в ячейку Excel, в которой содержится ссылаемый элемент отчета.

Отображение стилей в Excel

Далее приводится краткое описание подготовки элементов к отображению в Excel.

Цветовая палитра

В Excel поддерживается палитра до 56 цветов. Первые 56 уникальных цветов, использованных в отчете, определяются в пользовательской палитре. Если в отчете используется больше 56 цветов, то модуль подготовки отчетов сопоставит необходимый цвет с одним из 56 цветов, доступных в палитре. Для сопоставления цветов с теми, что уже существуют в палитре, используется алгоритм сопоставления цветов Excel.

Ограничения Excel

В связи с ограниченными возможностями формата BIFF, Excel накладывает на экспортируемые отчеты ограничения. Наиболее значительны из них следующие.

  • Максимальное число строк в листе — 65 536. При превышении данного ограничения модуль подготовки отчетов выводит сообщение об ошибке.

  • Максимальное число столбцов в листе — 256. При превышении данного ограничения модуль подготовки отчетов выводит сообщение об ошибке.

  • Максимальная ширина столбца — 255 символов или 1726,5 пунктов. Модуль подготовки отчетов не производит проверку превышения ширины столбца.

  • Максимальная высота строки — 409 пунктов. Если содержимое строки приводит к увеличению ее высоты до размера более 409 пунктов, то содержимое разделяется и добавляется в следующую строку.

  • Максимальное число символов в ячейке — 32 767. При превышении данного ограничения модуль подготовки отчетов выводит сообщение об ошибке.

    ПримечаниеПримечание

    В ячейке Excel на листе может быть отображено примерно 1 000 символов; однако в строке формул можно работать с максимальным количеством символов.

  • В Excel нет ограничения на максимальное число листов, однако его появление могут вызвать внешние факторы, например, нехватка памяти или места на диске.

  • Значения текстового поля, являющиеся выражениями, не преобразуются в формулы Excel. Значения всех текстовых полей вычисляются во время обработки отчета. Вычисляемые выражения экспортируются в виде содержимого каждой из ячеек Excel.

  • Если ячейки объединены, то не будет правильно работать перенос по словам. Если в строке есть объединенные ячейки, а при подготовке к просмотру текстового поля этой строки было включено свойство AutoSize, то не будет работать автоматическое масштабирование.

  • Фоновые изображения для элементов отчетов не учитываются, поскольку в Excel не поддерживаются фоновые изображения для отдельных ячеек.

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

  • Текстовый эффект «Надчеркивание» в Excel не поддерживается.

  • В верхних и нижних колонтитулах Excel поддерживаются значения с максимальной длиной в 256 символов, включая разметку. Модуль подготовки отчетов производит усечение строки после 256 символов.

  • В структурах Excel допускается до 7 уровней вложенности.

  • Если элемент отчета, управляющий переключением другого элемента, не находится в соседней с ним строке или столбце, то структура отключается.

  • Модуль подготовки отчетов Excel поддерживает фоновые изображения только для текста отчета. Если фоновое изображение тела отчета отображается в отчете, то оно будет преобразовано в фоновое изображение листа.

  • Excel добавляет поля по умолчанию с левой и правой сторон ячеек, составляющие 3,75 пунктов. Если в настройках полей установлено значение меньше 3,75 пунктов и места едва хватает для размещения текста, это может вызвать перенос по словам.

    ПримечаниеПримечание

    Эту проблему можно обойти, увеличив ширину текстового поля в отчете.

Настройки сведений об устройстве

Некоторые настройки по умолчанию для этого модуля подготовки отчетов можно изменить через настройку сведений об устройстве. Дополнительные сведения см. в разделе Настройки сведений об устройстве в службах Reporting Services.