Умный импорт элемента массива с помощью слайсера в Excel с помощью умных маркеров

Почему важно обращаться к элементу массива через слайсер

В умных маркерах FastReport обращение к элементам массива с помощью слайсера (например, [array[1..3]]) обеспечивает краткий и эффективный способ работы с подмножествами данных.

  1. Упрощение получения данных: ручной перебор больших массивов требует циклов и сложного синтаксиса. Слайсеры позволяют извлекать диапазоны (подмассивы) в одной строке. Пример: [Products[1..5].Name] — получать имена первых 5 товаров.
  2. Динамическая генерация отчетов: создание отчетов для переменных срезов данных (например, “Топ N элементов”, постраничный просмотр). Пример: [Sales[0..{PageNo*10}]] — динамично загружать чанки данных для многостраничных отчетов.
  3. Оптимизация производительности: избегать загрузки всего массива в память. Загружать только нужные элементы. Пример: [Logs[^10..^1]] — эффективно получать последние 10 записей.
  4. Декларативный синтаксис: прямо выражать намерение в шаблонных маркерах. Пример: [Employees[3..7].Department] — четко выбирает отделы для записей с 3 по 7.
  5. Интеграция с источниками данных: работает с массивами из баз данных, JSON или кода. Пример: привязать Invoice.Items[0..2] для отображения первых 3 строковых позиций.
  6. Слайсеры в Smart Markers уменьшают сложность кода, улучшают читаемость и оптимизируют обработку данных для подмножеств массивов. Используйте их, когда нужен быстрый доступ по диапазону — идеально для пагинации, списков топ-N или оконных просмотров данных.

Как импортировать элемент массива через слайсер в Excel с помощью Smart Markers

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

Первый лист файла smartmarker.xlsx с отображением умных маркеров.
todo:image_alt_text
Скриншот выходного файла Excel.
todo:image_alt_text

Следующие данные JSON:

{
  "EntityCin": "EntityCin Test",
  "EntityName": "EntityName Test",
  "FirstName": "FirstName Test",
  "MiddleName": "MiddleName Test",
  "LastName": "LastName Test",
  "DOB": "2025-02-08",
  "SSN": "11111111",
  "Directors": [
    {
      "id": "director id 1",
      "FirstName": "director first 1",
      "MiddleName": "director middle 1",
      "LastName": "director last 1",
      "Reportees": [
        {
          "id": "aaa",
          "FirstName": "first aaa",
          "MiddleName": "middle aaa",
          "LastName": "last aaa",
          "Department": "aaa department",
          "City": "aaa city",
          "GST": "Yes",
          "ITR": "No"
        },
        {
          "id": "bbb",
          "FirstName": "first bbb",
          "MiddleName": "middle bbb",
          "LastName": "last bbb",
          "Department": "bbb department",
          "City": "bbb city",
          "GST": "Yes",
          "ITR": "Yes"
        },
        {
          "id": "ccc",
          "FirstName": "first ccc",
          "MiddleName": "middle ccc",
          "LastName": "last ccc",
          "Department": "ccc department",
          "City": "ccc city",
          "GST": "No",
          "ITR": "No"
        }
      ]
    },
    {
      "id": "director id 2",
      "FirstName": "director first 2",
      "MiddleName": "director middle 2",
      "LastName": "director last 2",
      "Reportees": [
        {
          "id": "eee",
          "FirstName": "first eee",
          "MiddleName": "middle eee",
          "LastName": "last eee",
          "Department": "eee department",
          "City": "eee city",
          "GST": "Yes",
          "ITR": "No"
        },
        {
          "id": "fff",
          "FirstName": "first fff",
          "MiddleName": "middle fff",
          "LastName": "last fff",
          "Department": "fff department",
          "City": "fff city",
          "GST": "No",
          "ITR": "No"
        }
      ]
    },
    {
      "id": "director id 3",
      "FirstName": "director first 2",
      "MiddleName": "director middle 2",
      "LastName": "director last 2",
      "Reportees": [
        {
          "id": "eee3",
          "FirstName": "first eee3",
          "MiddleName": "middle eee3",
          "LastName": "last eee3",
          "Department": "eee department3",
          "City": "eee city3",
          "GST": "Yes",
          "ITR": "No"
        },
        {
          "id": "fff3",
          "FirstName": "first fff3",
          "MiddleName": "middle fff3",
          "LastName": "last fff3",
          "Department": "fff department3",
          "City": "fff city",
          "GST": "No",
          "ITR": "No"
        }
      ]
    },
    {
      "id": "director id 4",
      "FirstName": "director first 4",
      "MiddleName": "director middle 4",
      "LastName": "director last 4",
      "Reportees": [
        {
          "id": "eee4",
          "FirstName": "first eee4",
          "MiddleName": "middle eee4",
          "LastName": "last eee4",
          "Department": "eee department4",
          "City": "eee city4",
          "GST": "Yes",
          "ITR": "No"
        },
        {
          "id": "fff4",
          "FirstName": "first fff4",
          "MiddleName": "middle fff4",
          "LastName": "last fff4",
          "Department": "fff department4",
          "City": "fff city4",
          "GST": "No",
          "ITR": "No"
        }
      ]
    }
  ]
}

Приведенный ниже пример показывает, как это работает.