Демо: загрузка данных таблицы xlsx из Nextcloud и загрузка в PostgreSQL
Обновлено 30.10.2026
Что делает workflow
Workflow берёт таблицу Excel (.xlsx) из папки Nextcloud, читает строки и загружает их в таблицу базы данных PostgreSQL n8n_demo_gold_mines. Если таблицы ещё нет, workflow её создаёт. В конце он проверяет, сколько строк загрузилось.
Подходит, когда данные ведутся в Excel, а работать с ними нужно в базе: искать, фильтровать, использовать в других workflow.
[Скриншот: общий вид workflow]
Как загрузить
📎 test_table.xlsx — тестовая таблица: 10 золотодобывающих рудников
Скачайте файл Демо. xlsx_из_nextcloud.json (прикреплён к инструкции).
Откройте n8n и нажмите "Create workflow".
В меню
...в правом верхнем углу выберите "Import from File" и укажите скачанный файл. На рабочем поле появится workflow «Демо. 7. Таблица xlsx из Nextcloud в PostgreSQL».Проверьте credentials в ноде «Скачать таблицу из Nextcloud» и в трёх нодах PostgreSQL (см. раздел «Credentials»).
Сохраните workflow.
Подробнее про импорт — в инструкции «n8n. Начало работы», раздел 2.
Как пользоваться
Скачайте test_table.xlsx (прикреплён к инструкции) и положите в папку Nextcloud
n8n/test: https://cloud.ide-spb.com/apps/files/files/108020739?dir=/n8n.В n8n нажмите "Execute workflow".
Дождитесь, пока все ноды подсветятся зелёным.
Откройте ноду «Результат загрузки» и посмотрите итог (см. раздел «Как проверить результат»).
[Скриншот: файл test_table.xlsx в папке n8n/test]
Из чего состоит workflow
Нода | Тип ноды в n8n | Что делает |
|---|---|---|
When clicking 'Execute workflow' | Manual Trigger | Запуск вручную кнопкой |
Настройки | Edit Fields (Set) | Хранит путь к файлу в Nextcloud, имя файла и имя таблицы |
Скачать таблицу из Nextcloud | Nextcloud → Download a File | Скачивает файл |
Прочитать xlsx | Extract from File → Extract From XLSX | Превращает строки листа в записи: одна строка — одна запись |
Подготовить строки | Code | Приводит числа к числовому виду, проверяет обязательные поля и собирает все строки вместе |
Создать таблицу n8n_demo_gold_mines | Postgres → Execute a SQL query | Создаёт таблицу в базе, если её ещё нет |
Загрузить строки в n8n_demo_gold_mines | Postgres → Execute a SQL query | Записывает все строки в таблицу одним запросом |
Проверить таблицу | Postgres → Execute a SQL query | Считает строки в таблице |
Результат загрузки | Edit Fields (Set) | Собирает итог загрузки |
Как проверить результат
Откройте ноду «Результат загрузки» и в панели OUTPUT выберите вид Table. Поля итога:
Поле | Что означает |
|---|---|
|
|
| Путь к файлу в Nextcloud |
| Имя таблицы в базе |
| Сколько строк с данными в файле |
| Сколько строк записано за этот запуск |
| Сколько строк в таблице всего |
| Итог текстом, например «Из test_table.xlsx загружено строк: 10. Всего в таблице: 10.» |
[Скриншот: OUTPUT ноды «Результат загрузки»]
Сами строки можно посмотреть в OUTPUT ноды «Прочитать xlsx» — так данные выглядят после чтения файла, до загрузки в базу.
Особенности
Требования к файлу. Первая строка листа — заголовки колонок. Названия колонок должны точно совпадать с полями таблицы:
id, mine_name, region, deposit_type, extraction_method, ore_grade_g_per_t, ore_mined_t, gold_output_kg, recovery_rate_pct, report_date, status
Колонки с другими названиями не загрузятся. Читается только первый лист файла.
Обязательные поля и числа. Колонки id и mine_name должны быть заполнены в каждой строке. Колонки id, ore_grade_g_per_t, ore_mined_t, gold_output_kg, recovery_rate_pct должны содержать числа; дробная часть может отделяться точкой или запятой. Если правило нарушено, workflow остановится на ноде «Подготовить строки» с ошибкой вида «Строка 5: поле ore_mined_t не число: много». Номер строки соответствует номеру строки в Excel.
Дата. Дату в колонке report_date лучше хранить как текст в формате ГГГГ-ММ-ДД, например 2025-01-31, как в тестовом файле.
Повторный запуск не создаёт дубли. Строки сравниваются по id: если строка с таким id уже есть в таблице, она обновляется значениями из файла. Поэтому файл можно исправить и загрузить заново. Строки, которые удалили из файла, из таблицы не удаляются.
Служебные поля. В таблице дополнительно хранятся source_file — имя файла, из которого пришла строка, и loaded_at — время последней загрузки.
Таблица общая. Все workflow с credential Postgres n8n работают с одной базой. Таблицу n8n_demo_gold_mines могут загружать и другие сотрудники: при совпадении id строки перезаписываются. Для своих данных используйте отдельную таблицу (см. «Что можно поменять»).
Логика в нодах Code и SQL. Проверка строк написана на JavaScript в ноде «Подготовить строки», загрузка — на SQL в нодах PostgreSQL. Если нужно что-то изменить, а опыта с кодом нет, можно попросить LLM на ИИ-платформе помочь: скопируйте код ноды и опишите, что хотите поменять.
Подробнее про работу с PostgreSQL в n8n — в инструкции Работа с PostgreSQL.
Credentials
Нода | Credential |
|---|---|
Скачать таблицу из Nextcloud | NextCloud account |
Создать таблицу n8n_demo_gold_mines | Postgres n8n |
Загрузить строки в n8n_demo_gold_mines | Postgres n8n |
Проверить таблицу | Postgres n8n |
Оба credentials общие и находятся во вкладке "Shared with you". Если после импорта поле credential пустое или выделено красным, выберите нужный credential из списка вручную.
Что такое credentials и что делать, если нужного доступа нет, описано в инструкции n8n. Доступы или credentials.
Что можно поменять
Файл — поля
source_path(полный путь в Nextcloud) иfile_name(имя файла) в ноде «Настройки».Таблицу в базе — имя
n8n_demo_gold_minesв SQL-запросах всех трёх нод PostgreSQL и полеtarget_tableв ноде «Настройки». Менять нужно во всех четырёх местах. Полеtarget_tableиспользуется только в итоге: если поменять имя только в нём, данные всё равно загрузятся вn8n_demo_gold_mines.Набор колонок — для другой структуры таблицы нужно поменять SQL в нодах «Создать таблицу…» и «Загрузить строки…», а также списки
required(обязательные поля) иnumeric(числовые поля) в коде ноды «Подготовить строки».
Дата обновления: 22 октября 2026
Не нашли ответ? Гена поищет по всей базе знаний или заведёт обращение на консультанта