Quad.Wiki

Импорт XML через Excel

В программе можно загрузить файл формата YML (это частный случай XML)

Если у вас формат Яндекс.Маркет (YML), то его не нужно грузить через Excel

 

Все остальные варианты загружаются через Excel. Для этого, в зависимости от структуры XML, можно использовать следующие варианты:

1. Cохранить файл как XLS

В XML находятся “линейные” данные, т.е. нет никаких группирующих тегов и выгружен просто массив товаров в 1 уровень. Пример файла:

Файл содержит только блоки товаров. Скачивая такой файл, сохраняйте его с расширением XLS (если в нем меньше 65000 товаров). При открытии в экселе - Excel сам преобразует эти данные в табличный вид, т.е. ничего больше делать не нужно будет.

Если после сохранения файла XML с расширением XLS в экселе вы видите такую картину

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

 

2. Преобразовать файл XML в CSV/XLSX

Если файл большой и не открывается через Excel, либо сложной древовидной структуры, то для его загрузки вы можете преобразовать его в CSV или Excel с помощью действия Quad.Magic

 

3. Импорт XML в Excel

Инструкция по импорту предназначена для Excel начиная с версии 2016, при этом в 2016 версию несколько лет добавлялся новый функционал и вам нужно использовать одно из последних обновлений 2016, или установить MS Office 365 или 2019.

Рассмотрим импорт на примере файла сложной структуры, в котором товары находятся в одном из подуровней.

В файле представлена различная информация и есть блок PRICES в котором непосредственно товары с ценами.

1. Запустите эксель, создайте в нем новый документ и перейдите во вкладку Данные.

2. Нажмите Получить данные / Из файла / Из XML

Выберите файл и нажмите Ок. В результате откроется такое окно:

3. Если в этом окне вы видите сразу нужные вам товары и все необходимые колонки, то нажмите Загрузить. Если же видите не то, что нужно, нажмите кнопку “Преобразовать данные”.

В открывшемся редакторе в колонках вы можете видеть такую кнопку у полей, которые внутри себя содержат еще список полей.

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

После нажатия на эту кнопку откроется окно, в котором нужно нажать ОК.

В моем случае товары не отобразились, но в этой ячейке уже стал отображаться новый тег, дочерний к PRICES

Раскрываю и его

Здесь уже стали видны колонки товаров, после нажатия ОК в таблице отобразиться список товаров.

 

Если после “раскрытия” вы все равно не видите нужные данные, например, в колонке во всех строках написано Table, то нужно эту колонку развернуть еще раз.

пока не получите нужный результат

 

Проверьте, что это те данные, которые вам нужны. После этого нажмите “Закрыть и загрузить”

В Excel появятся товары из файла XML

 

4. Сохраните этот файл с расширением XLSX и используйте для настройки загрузки прайса.

5. Если вам этот файл нужно загрузить не 1 раз, а постоянно загружать, то нужно записать Макрос, который будет делать импорт. Для этого:

Закройте все открытые Excel и запустите новый, добавьте там новый документ.

Зайдите в настройки Excel (Файл / Параметры / Настроить ленту) и включите отображение вкладки Разработчик (поставьте птичку).

Перейдите во вкладку Разработчик и нажмите Запись макроса

 

После этого проделайте все те же действия по импорту файла XML, которые описаны выше.

После того как в экселе отобразилась таблица с товарами, нажмите во вкладке Разработчик кнопку Остановить запись.

 

Нажмите кнопку “Макросы”

 

Откроется окно с доступными макросами - у вас он будет один, нажмите кнопку Изменить.

 

Скопируйте текст макроса, начиная от зеленого текста комментария (с апострофами) и до текста End Sub

Вставьте этот текст в карточке прайса во вкладке Макрос.

 

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

 

 

6. После всех настроек вам не нужно загружать тот файл XLSX, который сохранили после импорта из XML. Вы можете его удалить.

Создайте пустой файл в Excel и сохраните его в папку Quad Solutions\files\2_ price и именно этот пустой прайс выберите во вкладке Прайсы / внизу Загрузка прайсов и загрузите его. Данные в файл добавятся макросом, который настроили ранее.

 

7. Попробуйте загрузить прайс. Если что-то не так, то результат импорта XML в Excel, после попытки загрузки прайса, можно посмотреть в файле Quad Solutions\crmpack\temp\temp.xlsm.