ExportToExcelCommand

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

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

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

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

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

<#variable#>

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

<%variable%>

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

<*function*>

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

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

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

<@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. В таком случае размер картинки будет зависить только от ширины колонки, и итоговое изображение будет перекрывать другие строки.

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

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

Для заголовков в динамических колонках используется <[#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 возвращает следующие данные:

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

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

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

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

Шаблон ExportToExcelCommand

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

Open

Признак открытия Excel-файла после формирования.

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

Если тэг <Open> отсутствует, то используется значение True.

<Open>True</Open>

ExportFileName

Полный путь до Excel-файла, в который будут выгружены данные.

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

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

Поддерживаются константы замены.

<ExportFileName>ExportFileName</ExportFileName>

InsertPictures

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

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

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

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

<InsertPictures Value="" />

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

UseRawTags

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

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

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

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

<UseRawTags Value="" />

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

Last updated