xandeadx.ru Блог музицирующего веб-девелопера

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

Опубликовано в

Описание

Модуль 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
Похожие записи

Комментарии RSS

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

навряд ли

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

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

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

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

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

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

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

Благодарю

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

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

уже нашёл, спасибо!

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

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

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

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

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

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

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 тыс. вариаций из комерца загоняю как отдельный товар.

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

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

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

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

добавьте опцию --uri=http://yoursite.com

О, спасибо, помогло))

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

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

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

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

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

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

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

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

Задача: получить 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. Теперь это можно отправить. Профит.

Оставить комментарий

Содержимое этого поля является приватным и не будет отображаться публично. Если у вас есть аккаунт в Gravatar, привязанный к этому e-mail адресу, то он будет использован для отображения аватара.
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Доступные HTML теги: <a> <i> <b> <strong> <code> <ul> <ol> <li> <blockquote> <em> <s>
  • Строки и параграфы переносятся автоматически.
  • Подсветка кода осуществляется с помощью тегов: <code>, <css>, <html>, <ini>, <javascript>, <sql>, <php>. Поддерживаемые стили выделения кода: <foo>, [foo].

Подробнее о форматировании