Умный импорт и размещение данных с помощью умных маркеров в Python через .Net

Введение

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

Дизайнерский электронный таблица и умные маркеры

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

Все умные маркеры начинаются с &=. Примером маркера данных является &=Party.FullName. Если результат маркера данных содержит более одного элемента, например, полную строку, то следующие строки автоматически сдвигаются вниз, чтобы освободить место для новой информации. Таким образом, промежуточные и итоговые итоги могут быть размещены на строке, следующей сразу после маркера данных, чтобы делать вычисления на основе вставленных данных. Для вычислений по вставленным строкам используйте динамические формулы.

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

Умный маркер также может содержать параметры. Параметры позволяют изменить способ представления информации. Они добавляются в конец умного маркера в круглых скобках в виде списка, разделенного запятыми.

Параметры умного маркера

&=ИсточникДанных.ИмяПоля &=[Источник Данных].[Имя Поля] &=$ИмяПеременной &=$МассивПеременных &==ДинамическаяФормула &=&=ПовторитьДинамическуюФормулу

Параметры

Допустимы следующие параметры:

  • noadd - Не добавлять дополнительные строки для помещения данных.
  • skip:n - Пропустить n количество строк для каждой строки данных.
  • ascending:n или descending:n - Сортировать данные в умных маркерах. Если n равно 1, то столбец является первым ключом сортировки. Данные сортируются после обработки источника данных. Например: &=Таблица1.Поле3(ascending:1).
  • horizontal - Записывать данные слева направо, а не сверху вниз.
  • numeric - Преобразовать текст в число, если это возможно.
  • shift - Сдвинуть вниз или вправо, создавая дополнительные строки или столбцы для размещения данных.
  • copystyle - Скопировать стиль базовой ячейки во все ячейки этого столбца.

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

Если у вас есть несколько параметров, разделите их запятыми, но без пробела: параметрА,параметрB,параметрC

На следующих скриншотах показано, как вставить данные на каждую вторую строку.

Файл шаблона Файл вывода
todo:image_alt_text todo:image_alt_text

Динамические формулы

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

Динамические формулы позволяют использовать следующие дополнительные параметры:

  • r - Номер текущей строки.
  • 2, -1 - Смещение к текущему номеру строки.

Например:

 &=&=B{-1}/C{-1}~(skip:1)

В маркере динамической формулы “-1” обозначает смещение к текущей строке в столбцах B и C соответственно, которые будут установлены для операции деления, параметр пропуска - одна строка. Более того, мы должны указать следующий символ:

 "~"

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

Следующие скриншоты иллюстрируют повторяющуюся динамическую формулу и результат на листе Excel.

Файл шаблона Файл вывода
todo:image_alt_text todo:image_alt_text
Ячейка “C1” содержит формулу = A1*B1, ячейка “C2” содержит = A2*B2 и ячейка “C3” содержит = A3*B3.

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