# Импорт и экспорт Excel

Импорт добавляет в список записи из файла Excel и обновляет те, что уже есть. Экспорт выгружает все записи списка в файл. Выгруженный файл можно поправить в Excel и загрузить обратно без подготовки.

Обе кнопки — «Импорт из Excel» и «Экспорт в Excel» — находятся над таблицей записей: в разделе «Списки» бота, в разделе «Списки» проекта и в окне списков, которое открывается из блока сценария.

## Подготовить файл для импорта

- **Формат** — книга Excel `.xlsx`, размером до 50 МБ.
- **Лист** — читается только первый лист книги.
- **Строка заголовков.** Пока на первом шаге отмечено «Первая строка — заголовки», первая строка файла пропускается. Если заголовков в файле нет, снимите отметку — иначе первая запись не загрузится.
- **Без пустых строк.** Импорт останавливается на первой строке, в которой пусты все колонки, выбранные для полей.
- **Одна строка — одна запись**, одна колонка — одно поле списка.

Что должно быть в ячейке:

| Тип поля | Значение в ячейке |
|---|---|
| «Текст» | Любое значение — оно сохранится как текст |
| «Число» | Число |
| «Денежный» | Сумма числом, без знака валюты: `1500` или `1500.50` |
| «Логический» | `1` — «Да», `0` — «Нет». Пустая ячейка значение не меняет, у новой записи это «Нет» |
| «Дата», «Дата и время» | Ячейка с форматом даты или текст вида `2026-10-02 14:30:00`, `2026-10-02`, `02.10.2026` |
| «Файл», «Картинка» | Публичная ссылка на файл, начинается с `http://` или `https://` |
| «ID контакта» | Номер контакта одного из ваших ботов |
| «ID бота» | Номер вашего бота |

> [!IMPORTANT]
> Файлы и картинки по ссылкам платформа не скачивает: бот отдаёт человеку файл прямо с вашего адреса. Ссылки должны оставаться рабочими всё время, пока бот использует список.

## Уникальное поле

Уникальное поле — это поле, по которому импорт узнаёт запись: артикул товара, номер заказа, код промокода. Для каждой строки файла импорт ищет в списке запись с таким же значением этого поля:

- запись найдена — она обновляется;
- записи нет — добавляется новая.

Уникальное поле выбирается обязательно. Строка, в которой оно пусто, отклоняется — если только в ней не указан ID существующей записи (см. ниже).

При обновлении меняются только те поля, для которых в строке есть значение. Пустая ячейка прежнее значение не стирает, а `0` и «Нет» записываются.

> [!TIP]
> Чтобы обновить только цены, загрузите файл из двух колонок: A — артикул, B — новая цена. На первом шаге назначьте полю артикула колонку A, полю цены — B, а остальным полям — колонки, которых в файле нет. Уникальным полем выберите артикул. Остальные значения записей не изменятся. Способ подходит, если в списке нет других обязательных полей: обязательное поле должно быть заполнено в каждой строке файла.

## Колонка ID

На первом шаге в поле «ID записи» выбирается колонка с идентификатором записи — её добавляет «Экспорт в Excel». Если в строке стоит ID записи этого списка, обновляется именно эта запись, даже если значение уникального поля в ней изменилось. Строки с пустым или чужим ID ищутся по уникальному полю, как обычно.

По умолчанию это первая колонка правее всех полей — туда её и пишет экспорт. Если в вашем файле колонки ID нет, менять ничего не нужно.

## Запустить импорт

1. Нажмите «Импорт из Excel».
2. Проверьте отметку «Первая строка — заголовки». Для каждого поля списка выберите букву колонки файла, из которой брать значение. По умолчанию поля идут по порядку: первое — из колонки A, второе — из B и так далее. Ниже проверьте колонку «ID записи». Нажмите «Далее».
3. В поле «Уникальное поле» выберите поле для поиска существующих записей. Нажмите «Далее».
4. Загрузите файл и нажмите «Далее» — импорт начнётся.

![Окно «Импорт из Excel», первый шаг: колонки файла для полей списка и колонка ID](https://support.watbot.ru/_media/ru/10-lists/_images/import.webp?v=1791781231)

Сопоставление колонок, колонка ID, отметка про заголовки и уникальное поле запоминаются в списке: в следующий раз их достаточно проверить.

Импорт идёт в фоне, окно показывает ход. Когда он закончится, в окне останется отчёт:

- «Импорт завершен» — дата и время;
- «Обработано строк» — сколько строк файла прочитано;
- «Новые записи» — сколько записей добавлено;
- «Обновлено записей» — сколько записей обновлено;
- «Отклонено строк» — сколько строк не прошли проверку;
- «Ошибки» — список ошибок. В начале каждой указан адрес ячейки, например `[B7]`.

![Отчёт о завершённом импорте](https://support.watbot.ru/_media/ru/10-lists/_images/import-report.webp?v=1791781231)

Отчёт хранится до следующего импорта. Кнопка «Импорт нового файла» возвращает к первому шагу. Когда импорт закончится, таблица записей обновится сама.

## Почему строка отклонена

Отклонённая строка в список не попадает, остальные строки файла загружаются.

| Ошибка в отчёте | Что исправить |
|---|---|
| «Уникальное поле не должно быть пустым» | Заполните в строке колонку уникального поля |
| «Уникальное поле не найдено» | Уникальное поле не выбрано или удалено из списка. Запустите импорт заново и выберите поле на втором шаге |
| Поле обязательно для заполнения | В строке пусто обязательное поле |
| Поле должно быть числом | В числовом или денежном поле текст |
| «Поле … должно быть числом 0 или 1» | В логическом поле что-то кроме `0` и `1` |
| «Поле … должно быть датой.» | Дата записана текстом в другом виде — задайте ячейке формат даты или запишите дату как `2026-10-02` |
| Поле должно быть ссылкой | В поле файла или картинки не ссылка `http://` или `https://` |
| Поле должно быть целым числом | В поле «ID контакта» или «ID бота» не номер |
| «Бот из поля … должен принадлежать вашему аккаунту.» | Указан номер чужого или несуществующего бота |
| «Контакт из поля … должен принадлежать вашему аккаунту.» | Указан номер контакта не из вашего бота |

Другие сообщения:

- **«Обработка принудительно остановлена. Слишком много ошибок.»** — в файле набралось больше 1000 ошибок. Строки, загруженные до остановки, остаются в списке. Чаще всего причина — неверно сопоставленные колонки или строка заголовков при снятой отметке «Первая строка — заголовки».
- **«Новый импорт запустить невозможно пока идет предыдущий процесс»** — в проекте уже идёт импорт в один из списков; его название указано в сообщении. Дождитесь окончания.
- **«Импортировать можно файлы xlsx или csv»** — загружен файл другого типа, например старый `.xls`. Сохраните его в Excel как `.xlsx`.

## Экспорт в Excel

1. Нажмите «Экспорт в Excel».
2. В окне нажмите «Начать экспорт».
3. Когда экспорт закончится, в окне появятся «Экспорт завершен» с датой, «Обработано строк» и ссылка «Скачать файл».

![Окно «Экспорт в Excel» после экспорта: дата, число строк и ссылка на файл](https://support.watbot.ru/_media/ru/10-lists/_images/export.webp?v=1791781231)

Ссылка на последний файл остаётся в окне до следующего экспорта.

Что попадает в файл:

- все записи списка — поиск и фильтры в таблице на экспорт не влияют;
- первая строка — заголовки: названия полей, включая скрытые, и «ID»;
- поля стоят в тех же колонках, что выбраны для импорта (по умолчанию по порядку с A), колонка «ID» — правее полей;
- логическое поле — `1` или `0`;
- дата — в виде `2026-10-02 14:30:00`;
- файл и картинка — ссылка на файл;
- контакт и бот — номер;
- денежное поле — сумма в основных единицах валюты, как в форме записи: `1500.5`.

Одновременно в проекте идёт только один экспорт. Если начать второй, появится сообщение «Новый экспорт запустить невозможно пока идет предыдущий процесс».

> [!TIP]
> Чтобы поправить много записей сразу, выгрузите список, измените значения в Excel и загрузите файл через «Импорт из Excel» без правки: записи найдутся по колонке «ID». Строки без ID станут новыми записями, если значение уникального поля не совпадёт с существующим.

## Права сотрудников

- Импорт меняет настройки списка, поэтому требует права «Редактирование списков». В разделе бота кнопку «Импорт из Excel» видят только сотрудники с этим правом.
- Экспорт доступен с правом «Просмотр записей».

Подписка Pro для импорта и экспорта не нужна.
