Использование интеллектуальных маркеров

Введение

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

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

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

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

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

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

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

Параметры

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

  • noadd - Не добавляйте дополнительные строки для соответствия данным.
  • пропустить: н - Пропустить n строк для каждой строки данных.
  • *по возрастанию:n или по убыванию:n — сортировка данных в интеллектуальных маркерах. Если n равно 1, то столбец является первым ключом сортировщика. Данные сортируются после обработки источника данных. Например: &=Таблица1.Поле3(по возрастанию:1).
  • горизонтальный - Записывайте данные слева направо, а не сверху вниз.
  • числовой - Преобразование текста в число, если это возможно.
  • сдвиг - Сдвиньте вниз или вправо, создавая дополнительные строки или столбцы в соответствии с данными. Параметр сдвига работает так же, как и в Microsoft Excel. Например, в Excel Microsoft при выборе диапазона ячеек щелкните правой кнопкой мыши и выберитеВставлять и укажитесдвинуть ячейки вниз, сдвинуть ячейки вправо и другие варианты. Короче говоря, параметр сдвига выполняет одну и ту же функцию для вертикальных/обычных (сверху вниз) или горизонтальных (слева направо) интеллектуальных маркеров.
  • боб — Указывает, что источником данных является простой POJO. Поддерживается только в Java API.

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

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

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

задача: image_alt_text

становится…

задача: image_alt_text

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

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

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

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

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

задача: image_alt_text

становится…

задача: image_alt_text

Cell C1 содержит формулу =A1B1, C2 содержит = A2B2 и C3 = A3*B3.

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

Использование массивов переменных

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

Группировка данных

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

Aspose.Cells интеллектуальные маркеры позволяют группировать данные по набору полей и размещать итоговые строки между наборами данных или группами данных. Например, при группировке данных по Customers.CustomerID вы можете добавлять сводную запись каждый раз при изменении группы.

Параметры

Ниже приведены некоторые параметры интеллектуального маркера, используемые для группировки данных.

группа: нормальный/объединить/повторить

Мы поддерживаем три типа групп, между которыми вы можете выбирать.

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

Например: &=Customers.CustomerID(группа:объединить)

пропускать

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

Например, &=Employee.EmployeeID(group:normal,skip:1)

промежуточный итогN

Выполняет сводную операцию для данных указанного поля, связанных с группой по полю. N представляет собой числа от 1 до 11, которые определяют функцию, используемую при вычислении промежуточных итогов в списке данных. (1=СРЕДНЕЕ, 2=СЧЁТ, 3=СЧЁТ, 4=МАКС, 5=МИН,…9=СУММА и т. д.) Дополнительную информацию см. в разделе Промежуточный итог в справке Excel Microsoft.

Фактически формат гласит: промежуточный итогN:Ref, где Ref относится к группе по столбцу.

Например,

  • &=Products.Units(subtotal9:Products.ProductID) определяет итоговую функцию приЕдиницы поле относительноИдантификационный номер продукта поле вПродукты стол.
  • &=Tabx.Col3(subtotal9:Tabx.Col1) определяет итоговую функцию поКол3 группировка полей поСтолбец 1 в таблице Tabx*.
  • &=Table1.ColumnD(subtotal9:Table1.ColumnA&Table1.ColumnB) определяет итоговую функцию приСтолбецD группировка полей поСтолбецА иСтолбец Б в таблице Таблица1*.

Использование вложенных объектов

Aspose.Cells поддерживает вложенные объекты в смарт-маркерах, вложенные объекты должны быть простыми.

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

Первый лист файла дизайнера, на котором показаны вложенные интеллектуальные маркеры.

задача: image_alt_text

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

Первый лист выходного файла, показывающий результирующие данные.

задача: image_alt_text

Использование общего списка в качестве вложенного объекта

Aspose.Cells теперь также поддерживает использование общего списка в качестве вложенного объекта. Пожалуйста, проверьте снимок экрана выходного файла Excel, созданного с помощью следующего кода. Как вы можете видеть на скриншоте, объект «Учитель» содержит несколько вложенных объектов «Ученик».

задача: image_alt_text

Использование свойства HTML смарт-маркеров

В следующем примере кода объясняется использование свойства HTML смарт-маркеров. Когда он будет обработан, «Мир» в «Hello World» будет выделен жирным шрифтом из-за HTML <b> ярлык.

Получение уведомлений при объединении данных с помощью смарт-маркеров

Иногда может потребоваться получить уведомления о ссылке на ячейку или конкретном смарт-маркере, обрабатываемом до завершения. Этого можно добиться с помощьюWorkbookDesigner.CallBackсобственность иISmartMarkerОбратный вызов

Пример кода и подробное объяснение можно найти в этой статье.