{"id":14276,"url":"\/distributions\/14276\/click?bit=1&hash=721b78297d313f451e61a17537482715c74771bae8c8ce438ed30c5ac3bb4196","title":"\u0418\u043d\u0432\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0432 \u043b\u044e\u0431\u043e\u0439 \u0442\u043e\u0432\u0430\u0440 \u0438\u043b\u0438 \u0443\u0441\u043b\u0443\u0433\u0443 \u0431\u0435\u0437 \u0431\u0438\u0440\u0436\u0438","buttonText":"","imageUuid":""}

Импорт файлов CSV и Excel в приложение

Когда приложение создано и запущено, периодически возникает необходимость импортировать информацию в его базу данных из файлов. Конечно, базы будут пополняться и автоматически — за счет информации, которую добавляют пользователи или предоставляют интегрированные сервисы. Но настройки импорта распространенных форматов CSV, XLS или XLSX лучше добавить заранее — скорее всего, они вам пригодятся и существенно упростят работу в будущем.

Сегодня расскажем о настройке импорта на no-code платформе AppMaster.io в двух вариантах:

  • Статический: когда порядок столбцов в загружаемых таблицах постоянный.
  • Динамический: когда порядок столбцов в таблицах меняется.

В конце статьи — видео с примерами и объяснением всех этапов настройки.

Процесс настройки импорта файлов

Разработка такого функционала мало чем отличается от классического программирования, но с помощью визуальных инструментов вы сделаете это гораздо быстрее. Для этого нужно выполнить 5 простых шагов:

  • Подготовить тестовые образцы файлов для импорта: неважно, в каком расширении, настройка для CSV и форматов Excel будет выглядеть одинаково.
  • Настроить пользовательский бизнес-процесс с помощью стандартных блоков, которые предоставляет редактор — дополнительные модули загружать не нужно.
  • Создать новый эндпоинт для бизнес-процесса — чтобы реализовать функционал загрузки импортируемого файла в веб-приложении.
  • Добавить на страницу веб-приложения форму, которая будет загружать CSV и Excel файлы и сообщать об успешном импорте или выводить сообщение об ошибке.
  • Протестировать функционал с помощью тестовых файлов — чтобы убедиться, что все работает корректно.

Если у вас уже есть опыт работы с AppMaster.io или другими no-code платформами, то настройка вряд ли займет больше часа, даже с учетом просмотра обучающего видео.

Необходимые блоки бизнес-процессов

Многие из них представляют собой аналоги функций классического программирования — только в виде визуальных инструментов, работать с которыми вы будете по принципу drag&drop.

Приведем список основных блоков для настройки импорта с их кратким описанием.

* Кроме них, вам также могут понадобиться различные вспомогательные блоки: если при обработке значений из файла нужно, например, перевести данные из одного формата в другой, сохранить переменную для дальнейшей обработки, объединить или разделить строки.

Статический импорт

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

  • Start — стандартный блок, который будет принимать импортируемый файл для чтения (после добавления в него соответствующей переменной).
  • Read CSV File, Read XLS File или Read XLSX File — читает загруженный файл строка за строкой.
  • For each loop — цикл, который будет перебирать все столбцы в каждой строке для последующей обработки их значений.
  • Switch — для разделения потока: чтобы настроить различный параметры обработки значений, полученных из импортированного файла, на основании их индексов.
  • Блоки Make и Create из группы Model Functions — для той модели данных, которую вы будете использовать при создании и сохранении объектов из импортированного файла; и в которую, соответственно, будете добавлять полученные на предыдущих этапах значения.
  • End — стандартный блок, завершающий бизнес-процесс после того, как все данные успешно импортированы в базу вашего приложения.

Динамический импорт

В этом случае столбцы в загружаемых файлах могут располагаться в любом порядке, однако их названия всегда должны быть одинаковыми, чтобы импорт прошел успешно.

Для настройки динамического импорта нужно добавить блоки анализа первой строки таблицы — чтобы определить, какие именно данные содержатся в каждом из столбцов загружаемого файла.

  • Equal — оператор сравнения, который определит, является ли обрабатываемая строка первой.
  • If-Else — который примет значение из Equal и перенаправит поток в зависимости от этого.
  • Дополнительный блок For each loop — цикл, который будет работать только с первой строкой (то есть с названиями столбцов).
  • Append Array — сохранит все значения, полученные из первой строки файла, в массив.
  • Array Element — получит значения конкретных элементов из Append Array вместе с их индексами из For each loop (того, который обрабатывает все строки).
  • Также нужно изменить блок Switch — чтобы он перенаправлял поток и обрабатывал импортируемые данные в зависимости от значений, полученных из Array Element.

Создание эндпоинта

При добавлении эндпоинта выберите метод POST, пропишите URL и укажите созданный бизнес-процесс — минимальная настройка завершена. Дополнительную информацию о том, как определить права доступа для групп пользователей или с разных IP, можно найти в документации к платформе (EN и RU версии).

Форма загрузки файла

Для корректной работы формы импорта нужно выбрать Create Record при ее создании и указать созданный эндпоинт, а также добавить кнопку подтверждения формы (триггер — onClick, действие — Submit form).

Видео: пример настройки импорта файла CSV

В этом видео подробно описаны все шаги по настройке статического и динамического импорта на примере CSV файла.

Хотите напрямую пообщаться с нашими разработчиками и другими ноукодерами? Присоединяйтесь к сообществу Appmaster.io в Telegram. Будем рады ответить на ваши вопросы!

0
1 комментарий
Пока

Подсасывать данные стороннего сервиса через API можно?

Ответить
Развернуть ветку
-2 комментариев
Раскрывать всегда