Импорт из Excel в Битрикс

Модуль для импорта данных из файла с .xlsx в выбранный инфоблок на портале.

Настройка модуля

После установки модуля в административной части в разделе Сервисы появится новый пункт — Импорт из Excel. При переходе в этот пункт меню откроется страница с профилями импорта (их можно создать несколько).

Шаг 1.

Для создания нового профиля импорта данных нажмите «Новый профиль импорта».

Заполните следующие поля:

  • Название профиля — введите название профиля для его идентификации в общем списке.

  • Файл — прикрепите созданный вами файл Excel с расширением .xlsx.

  • ID инфо-блока — выберите тип инфоблока, в который нужно импортировать элементы. В соседнем поле укажите нужный инфоблок.

  • Кол-во элементов, обрабатываемых за шаг импорта — укажите число элементов, которое будет обработано за один шаг.

  • Элементы только обновлять (не создавать) — поставьте эту галочку, чтобы посредством импорта только обновить данные в уже имеющихся элементах, не создавая новые.

  • Деактивировать новые элементы — поставьте эту галочку, чтобы при создании новых элементов они были не активны (деактивированы).

  • Деактивировать элемент, если количество нулевое — поставьте эту галочку, чтобы деактивировать элемент в случае, если количество нулевое и включен количественный учет.

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

  • Активировать элемент, если количество и цена НЕ нулевые — поставьте эту галочку, чтобы активировать элемент, если цена больше нуля, количество больше нуля и включен количественный учет.

  • Строка с заголовками — укажите номер строки Excel-файла, в которой находятся заголовки столбцов.

  • Первая строка с данными — укажите номер строки Excel-файла, с которой начинаются данные для импорта.

  • Крайняя строка с данными (если не указано, до конца листа) — укажите номер строки Excel-файла, на которой заканчиваются данные для импорта. Если это поле не заполнено, то файл будет обработан до конца листа.

  • ID раздела для новых элементов инфо-блока (по умолчанию корень) — для загрузки данных в выбранный в этом поле подкаталог.

После заполнения всех полей нажмите «Далее».

Шаг 2.

При переходе на второй шаг настройки импорта в верхней части окна у вас отобразятся строки из вашего Excel-файла.

Во второй части необходимо настроить сопоставления для импорта.

Для добавления нового правила нажмите плюсик рядом с надписью: «Уникальный идентификатор элемента». Далее заполните строку с полями:

Столбец в файле — название столбца с данными в Excel-файле.

  • Поле/свойство инфо-блока — название поля/свойства инфоблока, куда нужно поместить данные из указанного столбца.

  • Преобразование — при необходимости выберите вид преобразования — Дата, Дата со временем, Картинка, Ссылка.

  • Доп. Параметры — это произвольные параметры, которые передаются в обработчики событий (которые можно увидеть в README.md), в которых разработчики могут использовать их по своему смотрению.

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

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

При выборе поля/свойства инфоблока типа «Картинка» — если в ячейке Excel-файла находится непосредственно картинка, то надо указать преобразование — «Картинка». Если же в столбце находится ссылка на что-либо, то надо указать, что мы записываем в элемент: если надо записывать ссылку, то указываем в преобразовании «Ссылка», если же название ссылки, то без преобразования.

Для загрузки изображений по импортированным ссылкам используйте решение Автомат.

Шаг 3.

После заполнения всех правил нажмите «Сохранить и импортировать». Если не будет обнаружено никаких ошибок, то модуль выдаст количество обновлённых и добавленных элементов.

Обратите внимание:

  • Данные импортируются только с первого листа Excel-файла, независимо от их количества.

  • Для корректной работы модуля нужно использовать xlsx файлы, а не xls. Конвертировать файл можно просто пересохранив его из xls, используя Excel 2007 или более поздней версии.

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

Внимание! Для корректной работы модуля в настройках php нужно включить расширения zip, xmlwriter и dom:

ZIP

Если расширение php-zip не установлено, то устанавливаем:

yum install php70*zip

Ели расширение уже установлено, то нужно подключить его в файле /etc/php.d/40-zip.ini, прописав там:

; Enable ZIP extension module

extension=zip.so //либо другой путь к zip.so (можно найти поиском), например extension=/opt/remi/php70/root/lib64/php/modules/zip.so

xmlwriter и dom

В папке /etc/php.d/ нужно перенести содержимое файла:

20-xmlwriter.ini.disabled в 20-xmlwriter.ini

20-dom.ini.disabled в 20-dom.ini

Не забудьте перезагрузить веб-сервер и проверить применение настроек через phpinfo –i.

Упрощенный режим для групп

При необходимости вы можете настроить упрощённый режим для групп в разделе Настройки продуктаНастройки модулейИмпорт прайса из Excel.

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

Работа со списками 

Теперь модуль позволяет импортировать данные в поля типа «Список». Импортируются только те поля, значения которых присутствуют в выбранном списке. Если такого значения в списке нет, то поле в импортированном товаре (элементе) останется пустым.

При импорте учитывается регистр букв (большие и маленькие). Для успешного импорта названия (или другие импортируемые данные типа Список) должны быть написаны абсолютно одинаково в файле и в значениях Списка.

Рассмотрим простой пример.

Допустим, на портале есть список, одно из полей которого содержит перечень городов (тип поля — Список).

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

Приступаем к импорту. Выбираем созданный нами файл и указываем нужный инфоблок (список) для импорта.

Задаем соответствия столбцов для импорта.

Добавлено 19 элементов.

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

Похожие записи в блоге

Все статьи