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

Добавить строку

excel.appendRow · Excel

Добавляет строку после последней заполненной (начиная с колонки A); создаёт файл и лист, если их нет

Добавляет строку после последней заполненной строки листа, начиная с колонки A. Удобно для журнала результатов: каждая обработанная заявка — новая строка.

Свойства #

Свойство Имя в файле Значение Обязательное По умолчанию Описание
Путь к файлу path путь к файлу да —
Лист sheet текст нет — Пусто — первый лист; если листа нет, он будет создан
Значения values выражение да — Массив значений строки, напр. [client.ФИО, number]

Результат #

Действие не возвращает значений.

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

  • Путь к файлу (path) — книга .xlsx (или .xlsm); относительный путь считается от папки процесса. Старый формат .xls не поддерживается — сохраните книгу в Excel как .xlsx. Excel на компьютере робота не нужен.
  • Лист (sheet) — имя листа; пусто — первый лист. Листа нет — он создаётся (имя до 31 символа, без : \ / ? * [ ]).
  • Значения (values) — выражение-список значений строки по колонкам: [client['ФИО'], requestNumber, now()]. Числа остаются числами, null — пустая ячейка.
  • Последняя заполненная строка определяется по содержимому ячеек; на пустом листе строка пишется первой.
  • Книга сохраняется через временный файл рядом: если запись прервалась (нет места, отключилась сетевая папка), исходный файл остаётся целым. Файла нет — он создаётся.

Ошибки #

Код Причина и что делать
FileLocked Книга открыта в Excel или другой программе — закройте её. Запись идёт в исключительном режиме, чтобы не испортить файл
InvalidArgument Файл не .xlsx, повреждён или это не книга Excel; недопустимое имя листа; нет прав на запись
ExpressionError Выражение значений дало не список

Пример #

{
  "type": "excel.appendRow",
  "props": { "path": "журнал.xlsx", "sheet": "", "values": "[client['ФИО'], requestNumber, formatDate(now(), 'dd.MM.yyyy HH:mm')]" }
}