Когда приложение создано и запущено, периодически возникает необходимость импортировать информацию в его базу данных из файлов. Конечно, базы будут пополняться и автоматически — за счет информации, которую добавляют пользователи или предоставляют интегрированные сервисы. Но настройки импорта распространенных форматов 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 How-To: Import CSV/Excel File
Хотите напрямую пообщаться с нашими разработчиками и другими ноукодерами? Присоединяйтесь к сообществу Appmaster.io в Telegram. Будем рады ответить на ваши вопросы!