Использование смарт-маркеров
Вступление
Дизайнерская электронная таблица и смарт-маркеры
Электронные таблицы конструктора — это стандартные файлы Excel, которые содержат визуальное форматирование, формулы и интеллектуальные маркеры. Они могут содержать интеллектуальные маркеры, которые ссылаются на один или несколько источников данных, таких как информация из проекта и информация для связанных контактов. Умные маркеры записываются в ячейки, где вы хотите получить информацию.
Все смарт-маркеры начинаются с &=. Примером маркера данных является &=Party.FullName. Если маркер данных приводит к более чем одному элементу, например, к полной строке, то следующие строки автоматически перемещаются вниз, чтобы освободить место для новой информации. Таким образом, промежуточные итоги и итоги могут быть размещены в строке сразу после маркера данных для выполнения расчетов на основе вставленных данных. Чтобы выполнить вычисления для вставленных строк, используйтединамические формулы.
Умные маркеры состоят изисточник данных иимя полячастей для получения большей информации. Специальную информацию также можно передавать с помощью переменных и массивов переменных. Переменные всегда заполняют только одну ячейку, тогда как массивы переменных могут заполнять несколько. Используйте только один маркер данных на ячейку. Неиспользуемые смарт-маркеры удаляются.
Умный маркер также может содержать параметры. Параметры позволяют изменить способ представления информации. Они добавляются в конец смарт-маркера в круглых скобках в виде списка, разделенного запятыми.
Параметры смарт-маркера
&=Источник данных.ИмяПоля &=[Источник данных].[Имя поля]&=$Имя переменной &=$ПеременныйМассив &==Динамическая формула &=&=Повторить динамическую формулу
Параметры
Допускаются следующие параметры:
- не добавить - Не добавляйте дополнительные строки для соответствия данным.
- пропустить:н - Пропустить n строк для каждой строки данных.
- *по возрастанию:n или по убыванию:n — сортировка данных по интеллектуальным маркерам. Если n равно 1, то столбец является первым ключом сортировщика. Данные сортируются после обработки источника данных. Например: &=Таблица1.Поле3(по возрастанию:1).
- горизонтальный - Записывайте данные слева направо, а не сверху вниз.
- числовой - Преобразование текста в число, если это возможно.
- сдвиг - Сдвиг вниз или вправо, создание дополнительных строк или столбцов для соответствия данным. Параметр сдвига работает так же, как и в Microsoft Excel. Например, в Microsoft Excel при выборе диапазона ячеек щелкните правой кнопкой мыши и выберитеВставлять и указатьсдвинуть ячейки вниз, сдвинуть ячейки вправо и другие варианты. Короче говоря, параметр сдвига выполняет ту же функцию для вертикальных/нормальных (сверху вниз) или горизонтальных (слева направо) интеллектуальных маркеров.
- фасоль - Указывает, что источником данных является простой POJO. Поддерживается только в Java API.
Параметры noadd и skip можно комбинировать для вставки данных в чередующиеся строки. Поскольку шаблон обрабатывается снизу вверх, вы должны добавить noadd в первую строку, чтобы избежать вставки дополнительных строк перед альтернативной строкой.
Если у вас несколько параметров, разделите их запятой, но без пробела: параметр A, параметр B, параметр C.
На следующих снимках экрана показано, как вставлять данные в каждую вторую строку.
становится…
Динамические формулы
Динамические формулы позволяют вставлять формулы Excel в ячейки, даже если формула ссылается на строки, которые будут вставлены в процессе экспорта. Динамические формулы могут повторяться для каждой вставленной строки или использовать только ячейку, в которой находится маркер данных.
Динамические формулы позволяют использовать следующие дополнительные параметры:
- r - Текущий номер строки.
- 2, -1 — смещение до текущего номера строки.
Ниже показана повторяющаяся динамическая формула и результирующий лист Excel.
становится…
Cell C1 содержит формулу =A1B1, C2 содержит = A2В2 и С3 = А3*В3.
Обрабатывать умные маркеры очень легко. Следующий фрагмент кода показывает, как это делается.
Использование массивов переменных
В следующем примере кода показано, как использовать массивы переменных в смарт-маркерах. Мы динамически помещаем маркер массива переменных в ячейку A1 первого рабочего листа рабочей книги, которая содержит строку значений, которые мы установили для маркера, обрабатываем маркеры, чтобы заполнить данные в ячейках против маркера. Наконец, мы сохраняем файл Excel.
Группировка данных
В некоторых отчетах Excel может потребоваться разбить данные на группы, чтобы их было легче читать и анализировать. Одной из основных целей разбиения данных на группы является выполнение вычислений (выполнение сводных операций) для каждой группы записей.
Aspose.Cells смарт-маркеры позволяют группировать данные по набору полей и размещать сводные строки между наборами данных или группами данных. Например, при группировке данных по Customers.CustomerID можно добавлять сводную запись при каждом изменении группы.
Параметры
Ниже приведены некоторые параметры интеллектуальных маркеров, используемые для группировки данных.
группа:нормальная/объединить/повторить
Мы поддерживаем три типа групп, которые вы можете выбрать.
- нормальный - группировка по значению поля (полей) не повторяется для соответствующих записей в столбце; вместо этого они печатаются один раз для каждой группы данных.
- сливаться - То же поведение, что и для обычного параметра, за исключением того, что он объединяет ячейки в группе по полям для каждого набора групп.
- повторение - Группа по значению поля (полей) повторяется для соответствующих записей.
Например: &=Customers.CustomerID(группа:объединить)
пропускать
Пропускает определенное количество строк после каждой группы.
Например, &=Employees.EmployeeID(группа:нормальный,пропустить:1)
промежуточный итогN
Выполняет операцию суммирования для данных указанного поля, связанных с группой по полю. N представляет числа от 1 до 11, которые определяют функцию, используемую при расчете промежуточных итогов в списке данных. (1 = СРЕДНЕЕ, 2 = СЧЁТ, 3 = СЧЁТ, 4 = МАКС, 5 = МИН,… 9 = СУММА и т. д.) Дополнительную информацию см. в справке по промежуточному итогу в Microsoft Excel.
Формат фактически гласит: subtotalN:Ref, где Ref относится к группе по столбцу.
Например,
- &=Products.Units(subtotal9:Products.ProductID) определяет итоговую функцию приЕдиницы измерения поле по отношению кКод товара поле вПродукты Таблица.
- &=Tabx.Col3(subtotal9:Tabx.Col1) указывает итоговую функцию приКол3 группа полей поКол1 в таблицеТабкс.
- &=Table1.ColumnD(subtotal9:Table1.ColumnA&Table1.ColumnB) определяет итоговую функцию приСтолбецD группа полей поСтолбец А иСтолбец B в таблицеТаблица 1.
Использование вложенных объектов
Aspose.Cells поддерживает вложенные объекты в смарт-маркерах, вложенные объекты должны быть простыми.
Мы используем простой файл шаблона. См. электронную таблицу конструктора, содержащую несколько вложенных смарт-маркеров.
Первый рабочий лист файла конструктора, показывающий вложенные смарт-маркеры.
Следующий пример показывает, как это работает. Запуск приведенного ниже кода приводит к выводу ниже.
Первый рабочий лист выходного файла с результирующими данными.
Использование универсального списка в качестве вложенного объекта
Aspose.Cells теперь также поддерживает использование универсального списка в качестве вложенного объекта. Пожалуйста, проверьте скриншот выходного файла Excel, созданного с помощью следующего кода. Как вы можете видеть на снимке экрана, объект «Учитель» содержит несколько вложенных объектов «Ученик».
Использование свойства HTML смарт-маркеров
В следующем примере кода объясняется использование свойства HTML интеллектуальных маркеров. Когда он будет обработан, он покажет «Мир» в «Hello World» жирным шрифтом из-за HTML <b> тег.
Получение уведомлений при объединении данных со смарт-маркерами
Иногда может потребоваться получить уведомления о ссылке на ячейку или конкретном смарт-маркере, обрабатываемом до завершения. Это может быть достигнуто с помощьюWorkbookDesigner.CallBackимущество иISmartMarkerCallBack
Пример кода и подробное объяснение см. в этой статье.