Drupal → Модуль Views Data Export — экспорт данных представления в csv, xls, doc, txt, xml

11.02.2011

Описание

Модуль Views Data Export позволяет экспортировать вывод представления в файл в одном из нескольких форматов — csv, xls, doc, txt или xml. Модуль практически идентичен модулю Views Excel Export, за тем лишь исключением, что позволяет экспортировать большие объёмы данных с помощью пакетной обработки (batch), ну и поддерживает больше форматов.

Установка

Стандартно — скачать последнюю стабильную версию, распаковать в sites/all/modules, включить модуль Views Data Export.

Использование

  1. К представлению добавляем новый вид Data export (скриншот).

  2. В стиле выбираем нужный тип файла, в который будет проводится экспорт (скриншот). В настройках стиля отмечаем опцию Provide as file (скриншот).

  3. Указываем путь по которому будет генерироваться файл. Например export (скриншот).

  4. С помощью опции Attach to, прикрепляем вид к любому другому виду (скриншот).

  5. Сохраняем представление.

После этого у вида, к которому был прикреплён вид Data export появится ссылка на экспорт:

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

Модуль, как и Views Excel Export, прекрасно работает с раскрытыми фильтрами.

Есть интеграция с Drush:

drush views-data-export [view-name] [display-id] [output-file]

Видео-обзор модуля.

Написанное актуально для
Views Data Export 6.x-2.0-beta3
Похожие записи

Комментарии

Для экспорта в yml приспособить получится?

Экспорт в Excel это просто переименование файла в .xls, а на самом деле он обычный html генерирует. Лентяи, не могли какой-то класс использовать для экспорта.

xandeadx, сб 26/03/2011 - 21:49 #
навряд ли

yml - свой вариант вывода в XML.
Выводим в Views нужные поля и темим их..

а как темизировать вывод информации? темизация от Views не подходит.

Спасибо большое за урок.

Не подскажите какие могу быть причины того, что при экспорте не учитывается обработка фильтрами (exposed) - выгружается views полностью?

посмотрите issues, там что-то есть про exposed фильтры

Гость
24.08.2013, 14:56

а как выбрать поля которые выводить/не выводить в экспорт?
я как только в export view удаляю поле - оно удаляется так же и в page
а надо чтобы на сайте выводилось а в экспорт не выводилось.
например у меня у каждой ноды есть картинка(поле), на сайте я её хочу показывать, а в экспорте она мне не нужна. как это сделать?

Гость
27.08.2013, 15:53

Когда удаляешь поле, сверху поставь переопределение только на Data Export

Игорь Астахов
28.08.2013, 11:31

А как то можно сделать экспорт в многостраничный xml файл?
Что бы одна станица отображала одну категорию.

Гость
25.09.2013, 18:38

А как быть с аттрибутами в xml? Можно их как-то вывести не темизацией полей?
Особенно views 2. Интересует

Дархан
07.10.2013, 13:10

А как-нибудь можно сделать тоже самое через views bulk operations?
Чтобы выбрать определенные ноды и экспортировать

Дархан
08.10.2013, 16:25

Для шестерки нашел модуль export_doc. Может кому-нибудь пригодится

Игорь
11.10.2013, 11:31

А на сервере файл где то сохраняется?
Путь /export - это же виртуальный - а в папке /sites/default/files/export - можно сохранить?

Игорь
21.10.2013, 18:29

Лень ответить на мой предыдущий коммент гуру...

xandeadx, сб 26/03/2011 - 21:49 #
навряд ли
yml - свой вариант вывода в XML.
Выводим в Views нужные поля и темим их..

Если кому интересно, то я настроил вывод в YML - через XML
Только не темим через вьюс, а темим через
views-data-export-xml-body.tpl.php
views-data-export-xml-footer.tpl.php
views-data-export-xml-header.tpl.php
из папки модуля копируем в свою тему и погнали...
Почти 2-а дня настраивал, зато сейчас вывожу что угодно и как угодно.
Осталось только настроить перехват, чтобы после того как batch отработает, файл сохранялся на сервер.
Так как более 100 тыс. вариаций из комерца загоняю как отдельный товар.

Игорь
21.10.2013, 20:53

Хотя это прекрасно работает - drush views-data-export [view-name] [display-id] [output-file]
зайдя по ssh в нужный каталог или из корня сайта дописав названия директорий (sites/default/files/file.xml)
И актуально для drupal 7.

Подтверждаю, вполне сносно работает в виде YML для яндекс-маркета. Приятно то, что может генерировать большие файлы в пакетном режиме из drush по cron!

Игорь
18.09.2014, 09:12

Я всё же оставил этот модуль в покое и сделал с нуля как функцию php в своем модуле - YML для яндекс-маркета

При использовании drush views-data-export [view-name] [display-id] [output-file] в полученном файле название домена в урле заменяется на значение "default". Т.е. в исходном варианте стоит "_http://www.my-site.ru/trtrtr", а на выходе имеем "_http://default/trtrtr".
Причем через batch, запущенный с сайта, я получаю нормальные данные, а через drush такую вот замену.
Как бороться, может подскажет кто?

Добрый день! Я с drupal на "вы". У меня есть View (назвал "xml-export") и у меня есть модуль commerce, где есть категории товаров. Я могу вывести все мне нужные поля, в нужном виде, кроме ссылки на категорию товара.
Как мне это достичь?

wp-admin.com.ua
02.05.2015, 14:32

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

Мне нужна помощь по drupal с миграцией данных на WordPress, могу встречно помочь по WordPress.

Подскажите новичку плиз
На 7-ку кто то ставил этот модуль ? - 7.x-3.0-beta8
Возникла проблема -
создал представление,
при переходе по созданному пути список формируется,
кнопка XLS присутствует,
но по клику на кнопке XLS - не предлагает сохранить файл.
Никто не сталкивался с таким вариантом ?

Аааафигительный модуль, его действие, я так понимаю, легко выполняется через copy-paste с экрана в офисную программу, тот же Word или Excel.

Поправьте меня, если я ошибаюсь.

Игорь
05.10.2015, 09:43

его действие, я так понимаю, легко выполняется через copy-paste с экрана в офисную программу, тот же Word или Excel.

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

Игорь
05.10.2015, 10:27

Задача: получить xls файл с картинками.
Например прайс-лист с ценами и фотками.
Оказалось это просто с этим модулем.
1. Делаем представление (вьюху) таблицей и выводим поля те что нужны. Картинки выводим через пресет, например 200х200 и т.п. Урл картинки абсолютный.
2. К представлению добавляем новый вид Data export как написано в этой статье - пункт 2.
3. Получаем/сохраняем xls файл к себе на комп.
4. Файл xsl - на самом деле это обычный html - просто у него расширение.xls - этот файл нормально открывается в экселе, но строки не имеют нужной высоты (высоты фоток), поэтому сначала этот файл.xls открываем в блокноте, лучше конечно в нотепад++, указываем синтаксис HTML, чтобы всё красиво подсвечивалось и немного его подредактируем, а именно строки. Это теги TR - добавим им нужную высоту - высоту фоток - это тег IMG + 2 пикселя, чтобы точнее встали - tr height="202". Поэтому важно, чтобы пресет делал фотки одинаковой высоты. Сохраняем.
5. Теперь открываем в Экселе. В 2010 нормально открылся и фотки сами загрузились. Если фоток много и открываться будет долго. Для первого раза 10 фоток будет достаточно. Можно подправить ширину столбца с фотками. В 2007 - выдал красный крестик: Не удалось загрузить рисунок. Оказалось это из-за настроек: В меню Сервис->Центр управления безопасностью->Автоматическая загрузка, нужно убрать галочку с Не загружать автоматически рисунки...
6. Чтобы фотки сохранились в файле xls или xlsx - нужно его Сохранить Как -> выбираем формат 97-2003 - xls или 2007 - xlsx. Теперь это можно отправить. Профит.

Сергей
21.10.2019, 00:08

Всем привет!

Добавлю от себя как один из пунктов инструкции - в настройках пейджера надо установить отображать все элементы для экспорта данных (только для данного вида). Иначе результаты будут ограничены количеством на странице в настройках пейджера.

И у меня вопрос к профи, как настроить вывод ссылок на фотографии? Сейчас они выводятся так:

<Images>
<img typeof="foaf:Image" src="https://site.com/sites/default/files/styles/full_img_1200x800/public/photo-object/1.jpg?itok=buEBhPnq" width="1200" height="675" alt="Test" title="Test" />, 
<img typeof="foaf:Image" src="https://site.com/sites/default/files/styles/full_img_1200x800/public/photo-object/4.jpg?itok=v0w1mACF" width="1200" height="675" alt="Test" title="Test" />, 
<img typeof="foaf:Image" src="https://site.com/sites/default/files/styles/full_img_1200x800/public/photo-object/5.jpg?itok=nLsxjNaI" width="1200" height="675" alt="Test" title="Test" /></Images>

А надо чтобы было так:

<Images>
<image>https://site.com/sites/default/files/styles/full_img_1200x800/public/photo-object/1.jpg</image>, 
<image>https://site.com/sites/default/files/styles/full_img_1200x800/public/photo-object/4.jpg</image>, 
<image>https://site.com/sites/default/files/styles/full_img_1200x800/public/photo-object/5.jpg</image>
</Images>
Сергей
21.10.2019, 01:21

Сам спросил, сам отвечаю. Может кому пригодится.
Помог модуль image_url_formatter.
На странице настройки модуля в выпадающем списке "Cредство форматирования", добавился новый формат "URL изображения". А уже обернуть каждое изображения в нужную конструкция можно во вкладке "Перезаписать результаты" с помощью нужного токена из "Подстановочных шаблонов". Например: [field_image_1]
http://prntscr.com/plyzbv

Добавить комментарий