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

Записать ячейку

excel.writeCell · Excel

Записывает значение в ячейку; создаёт файл и лист, если их нет

Записывает одно значение в ячейку: номер заявки в колонку „Статус“, отметку об обработке, итоговую сумму.

Свойства #

Свойство Имя в файле Значение Обязательное По умолчанию Описание
Путь к файлу path путь к файлу да —
Лист sheet текст нет — Пусто — первый лист; если листа нет, он будет создан
Ячейка cell текст да — Адрес ячейки, напр. B2 или D{{ i + 2 }}
Значение value текст да — Текст; {{ выражение }} с числом записывается как число

Результат #

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

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

  • Путь к файлу (path) — книга .xlsx (или .xlsm); относительный путь считается от папки процесса. Старый формат .xls не поддерживается — сохраните книгу в Excel как .xlsx. Excel на компьютере робота не нужен.
  • Лист (sheet) — имя листа; пусто — первый лист. Листа нет — он создаётся (имя до 31 символа, без : \ / ? * [ ]).
  • Ячейка (cell) — адрес B2; номер строки можно вычислить: D{{ i + 2 }} (i — индекс строки из control.forEach, + 2 — пропустить заголовок и перейти к нумерации Excel с 1).
  • Значение (value) — текст с подстановками. Если всё поле — одно {{ выражение }} с числом, в ячейку пишется число ({{ total }}), иначе — текст. Пустое значение очищает ячейку; объект или список записываются как JSON.
  • Книга сохраняется через временный файл рядом: если запись прервалась (нет места, отключилась сетевая папка), исходный файл остаётся целым. Файла нет — он создаётся.

Ошибки #

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

Пример #

{
  "type": "excel.writeCell",
  "props": { "path": "../data/clients_result.xlsx", "sheet": "", "cell": "D{{ i + 2 }}", "value": "{{ requestNumber }}" }
}