Документация 0.4 Справочник действий

Прочитать диапазон

excel.readRange · Excel

Читает строки листа книги Excel (.xlsx) в массив; Excel на компьютере не нужен

Читает строки листа Excel в список — дальше их перебирает control.forEach, фильтрует control.assign, отправляет в очередь orch.queueAddItem или в отчёт orch.reportAddMany. Книгу, открытую в Excel, прочитать можно.

Свойства #

Свойство Имя в файле Значение Обязательное По умолчанию Описание
Путь к файлу path путь к файлу да —
Лист sheet текст нет — Пусто — первый лист
Диапазон range текст нет — Пусто — все заполненные ячейки; напр. A1:D20 или A:D
Первая строка — заголовки hasHeaders да/нет нет да Да — массив объектов с ключами из заголовков (row['ФИО']), нет — массив массивов

Результат #

Значение выхода сохраняется в переменную, выбранную для него в свойствах шага (раздел выходов).

Выход Имя в файле
Строки rows

Как работает #

  • Путь к файлу (path) — книга .xlsx (или .xlsm); относительный путь считается от папки процесса. Старый формат .xls не поддерживается — сохраните книгу в Excel как .xlsx. Excel на компьютере робота не нужен.
  • Лист (sheet) — имя листа; пусто — первый лист.
  • Диапазон (range) — пусто: все заполненные ячейки; A1:D20 — прямоугольник; A:D — колонки целиком (лишние пустые строки внизу не попадают).
  • Первая строка — заголовки (hasHeaders, включено):
    • включено — список объектов, ключи — заголовки колонок: row['ФИО'], row['Сумма']. Пустой заголовок становится буквой колонки, повторяющийся получает суффикс _2, _3;
    • выключено — список списков: row[0], row[1].
  • Значения: пустая ячейка — null, число — число, дата — строка 2026-11-16T00:00:00, текст — текст.
  • Выход Строки — список; число строк — rows.length.

Ошибки #

Код Причина и что делать
FileNotFound Файла нет — проверьте путь
InvalidArgument Нет такого листа (сообщение перечисляет листы книги); некорректный диапазон; файл не .xlsx или повреждён
FileLocked Файл заблокирован программой, которая не разрешает чтение

Пример #

{
  "type": "excel.readRange",
  "props": { "path": "requests.xlsx", "sheet": "", "range": "", "hasHeaders": true },
  "out": { "rows": "rows" }
}