ExportToExcelCommand

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

Поддерживаемые переменные

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

Тэги форматирования

[b][/b]

Задает полужирное начертание отрывка текста.

[i][/i]

Выделяет отрывок текста курсивом.

[u][/u]

Выделяет отрывок текста подчёркиванием.

[br]

Перенос текста на новую строку.

[size={value}][/size]

Задает отрывку текста размер шрифта.

В качестве {value} ожидается целочисленное значение.

Тэги форматирования заданные в тексте ячейки так же заменяются на соответвующие форматирование.

<#variable#>

Служит для отображения скалярного значения.

<%variable%>

Служит для отображения массива (для использования в таблице).

<*function*>

Служит для подстановки агрегирующей функции (для использования в конце таблицы).

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

Поддерживаемые агрегирующие функции

sum

Сумма значений столбца

avg

Среднее значение столбца

min

Минимальное значение столбца

max

Максимальное значение столбца

count

Количество значений столбца (число строк в таблице)

<@PATH@>

Служит для вставки изображения.

Например, для вставки изображения с параметризованным путем следует указать выражения вида <@<#variable#>@> - для скалярных значений и <@<%variable%>@> - для массивов.

Выражение PATH имеет следующий формат: PATH[?width=INT][?height=INT][?mode=MODE][?rotation=INT], где:

  • PATH - полный путь до файла изображения;

  • width - необязательный параметр ширины изображения; в качестве значения INT ожидается положительное целочисленное значение;

  • height - необязательный параметр высоты изображения; в качестве значения INT ожидается положительное целочисленное значение;

  • mode - необязательный параметр типа размера; в качестве значения MODE ожидается тип размера изображения (по умолчанию "Zoom");

  • rotation - необязательный параметр поворота изображения; в качестве значения INT ожидается целочисленное значение в диапазоне от -360 до 360 градусов.

Если явно не указаны width и height, то изображение будет вписываться в размеры ячейки (высота строки и ширина колонки).

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

Типы размера изображения

Zoom

Растягивание изображения до указанной ширины и высоты (в большую или меньшую сторону), сохраняя пропорции изображения

ZoomLess

Растягивание изображения до указанной ширины и высоты (только в меньшую сторону), сохраняя пропорции изображения

Stretch

Растягивание изображения до указанной ширины и высоты без сохранения пропорций изображения

Динамические колоноки

Для заголовков в динамических колонках используется <[#variable#]>.

Для значений в динамических колонках используется <[%variable%]>.

Для динамических колонок в качестве параметра ожидается матрица из 3-х столбцов:

  1. Идентификатор строки - является вспомогательным полем, необходимым для корректного определения кол-ва динамических колонок;

  2. Название столбца;

  3. Значение столбца.

К примеру, в команде определён следующий параметр:

<Parameter Name="Work">
  <DataConnection SourceDataConnection="WorkPrimaryGetDataConnection">
    <Fields>
      <Field Name="RowNumber" />
      <Field Name="ColumnTitle" />
      <Field Name="CellValue" />
    </Fields>
  </DataConnection>
</Parameter>

DataConnection возвращает следующие данные:

RowNumberColumnTitleCellValue

1

'Column1'

11

1

'Column2'

12

1

'Column3'

13

1

'Column4'

14

2

'Column1'

21

2

'Column2'

22

2

'Column3'

23

2

'Column4'

24

3

'Column1'

31

3

'Column2'

32

3

'Column3'

33

3

'Column4'

34

В итоге будет сформирована следующая таблица:

'Column1''Column2''Column3''Column4'

11

12

13

14

21

22

23

24

31

32

33

34

При задании имен параметров команды необходимо соблюдать их уникальность, т.к. при формировании динамических колонок тэги <[#variable#]> и <[%variable%]> будут заменены на временные тэги по количеству колонок:

<[#variable#]> - <#variableTitle0#>, <#variableTitle1#>, <#variableTitle2#>...<#variableTitleN#>;

<[%variable%]> - <%variableValue0%>, <%variableValue1%>, <%variableValue2%>...<%variableValueN%>.

Шаблон ExportToExcelCommand

<Command Name="" Type="ExportToExcelCommand" Assembly="Commands">
  <!--Тэги, общие для всех команд-->
  <Condition Name="" />
  <Lock Value="" />
  <!--Тэги, специфичные для ExportToExcelCommand-->
  <TemplateFileName></TemplateFileName>
  <Parameters>
    <Parameter Name=""></Parameter>
  </Parameters>
  <GroupTags></GroupTags>
  <ExportFileName Ask=""></ExportFileName>
  <InsertPictures Value="" />
  <UseRawTags Value="" />
</Command>

Описание ExportToExcelCommand

<Command Name="ExportToExcelCommandName" Type="ExportToExcelCommand" Assembly="Commands">
  <!--Тэги, общие для всех команд-->
  <!--Тэги, специфичные для ExportToExcelCommand-->
</Command>

Результат выполнения ExportToExcelCommand

Value

Команда не имеет результата.

Тэги, специфичные для ExportToExcelCommand

TemplateFileName

Путь до Excel-файла шаблона. Поддерживается формат .xlsx.

Обязательный тэг. Любое значение будет переведено в текстовое.

<TemplateFileName>TemplateFileName.xlsx</TemplateFileName>

Parameters

Параметры, которые будут переданы в файл шаблона для замены.

Необязательный тэг. Значение тэга <Parameters>: список тэгов <Parameter>.

<Parameters>
  <Parameter Name="ParameterName1">ParameterValue1</Parameter>
  <Parameter Name="ParameterName2">ParameterValue2</Parameter>
</Parameters>

Тэг <Parameter>

Параметр, который будет передан в файл шаблона для замены.

Необязательный тэг. Значение тэга <Parameter>: любое значение.

Атрибуты тэга <Parameter>

Name

Название параметра.

Обязательный атрибут. Значение атрибута Name: название одной из переменных, использующихся в файле шаблона.

Переменные в шаблоне задаются как <#ParameterName1#> - для отображения скалярного значения или <%ParameterName1%> - для отображения массива при использовании в таблице.

ExportFileName

Имя файла, с которым он будет скачан у пользователя.

Необязательный тэг. Любое значение будет переведено в текстовое.

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

Если тэг <ExportFileName> отсутствует, то используется автоматически сгенерированное значение, а для атрибута Ask используется значение False.

<ExportFileName Ask="False">ExportFileName</ExportFileName>

Атрибуты тэга <ExportFileName>

Ask

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

Необязательный атрибут. Ожидается логическое значение.

Если атрибут Ask отсутствует, то используется значение False.

InsertPictures

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

Необязательный тэг. Значение тэга <InsertPictures>: не ожидается.

Если тэг <InsertPictures> отсутствует, то для атрибута Value используется значение True.

Если атрибут Value в тэге <InsertPictures> имеет значение False, то замена в файле шаблона тэгов вставки изображений не произойдет и тэги останутся без изменений.

<InsertPictures Value="" />

Атрибуты тэга <InsertPictures>

Value

Значение.

Обязательный атрибут. Ожидается логическое значение.

UseRawTags

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

Необязательный тэг. Значение тэга <UseRawTags>: не ожидается.

Если тэг <UseRawTags> отсутствует, то для атрибута Value используется значение False.

Если атрибут Value в тэге <UseRawTags> имеет значение True, то замена в файле шаблона тэгов вставки скалярных и табличных значений и изображений не произойдет и тэги останутся без изменений.

<UseRawTags Value="" />

Атрибуты тэга <UseRawTags>

Value

Значение.

Обязательный атрибут. Ожидается логическое значение.

Last updated