ИИ-мастерская

Демо: загрузка данных таблицы xlsx из Nextcloud и загрузка в PostgreSQL

Обновлено 30.10.2026

Что делает workflow

Workflow берёт таблицу Excel (.xlsx) из папки Nextcloud, читает строки и загружает их в таблицу базы данных PostgreSQL n8n_demo_gold_mines. Если таблицы ещё нет, workflow её создаёт. В конце он проверяет, сколько строк загрузилось.

Подходит, когда данные ведутся в Excel, а работать с ними нужно в базе: искать, фильтровать, использовать в других workflow.

[Скриншот: общий вид workflow]

Как загрузить

📎 test_table.xlsx — тестовая таблица: 10 золотодобывающих рудников

  1. Скачайте файл Демо. xlsx_из_nextcloud.json (прикреплён к инструкции).

  2. Откройте n8n и нажмите "Create workflow".

  3. В меню ... в правом верхнем углу выберите "Import from File" и укажите скачанный файл. На рабочем поле появится workflow «Демо. 7. Таблица xlsx из Nextcloud в PostgreSQL».

  4. Проверьте credentials в ноде «Скачать таблицу из Nextcloud» и в трёх нодах PostgreSQL (см. раздел «Credentials»).

  5. Сохраните workflow.

Подробнее про импорт — в инструкции «n8n. Начало работы», раздел 2.

Как пользоваться

  1. Скачайте test_table.xlsx (прикреплён к инструкции) и положите в папку Nextcloud n8n/test: https://cloud.ide-spb.com/apps/files/files/108020739?dir=/n8n.

  2. В n8n нажмите "Execute workflow".

  3. Дождитесь, пока все ноды подсветятся зелёным.

  4. Откройте ноду «Результат загрузки» и посмотрите итог (см. раздел «Как проверить результат»).

[Скриншот: файл test_table.xlsx в папке n8n/test]

Из чего состоит workflow

Нода

Тип ноды в n8n

Что делает

When clicking 'Execute workflow'

Manual Trigger

Запуск вручную кнопкой

Настройки

Edit Fields (Set)

Хранит путь к файлу в Nextcloud, имя файла и имя таблицы

Скачать таблицу из Nextcloud

Nextcloud → Download a File

Скачивает файл .xlsx

Прочитать 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. Поля итога:

Поле

Что означает

ok

true, если все строки из файла оказались в таблице

source_path

Путь к файлу в Nextcloud

target_table

Имя таблицы в базе

rows_in_file

Сколько строк с данными в файле

rows_loaded

Сколько строк записано за этот запуск

total_rows_in_table

Сколько строк в таблице всего

note

Итог текстом, например «Из 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

Не нашли ответ? Гена поищет по всей базе знаний или заведёт обращение на консультанта