Импорт таблиц из Excel

easytableОчень нужно мне поместить на сайт список, более 1000 позиций. Я продумала форматирование и поняла, что пользоваться таким большим списком без поиска просто невозможно, даже если разделить его на несколько таблиц.

Тогда я стала искать скрипты. Но буквально вчера мне на глаза попался классный компонент Easytable. Что он делает? Из Экселовских таблиц делает вполне приличные html таблицы, да еще и с возможностью поиска по ним. Данные заносятся в базу.

Именно то, что мне нужно. Мой список как раз в Excel и набран. Я уже было начала переносить его на страницы сайта. Вы можете себе представить работу по перенесению значений из таблицы в 1080 строк и 5 столбцов, сколько раз нужно набрать сочетание Ctrl+C и Ctrl+V? Не сложно, но занудно… Более пятидесяти строчек за раз я не могу обработать, появляются ошибки.

А тут такой миленький компонент, которому нужно «скормить» файл в формате .csv и все: готова красивая таблица, которая сама разбивается на страницы.

Итак, все по порядку.

Качаем архив с компонентом (сайт разработчика). Можно взять и отсюда. На сайте разработчика есть инструкция, как работать с компонентом (на английском языке).

Ставится стандартным способом через АдминкаРасширенияУстановить/Удалить. Для работы с компонентом нужно взять .xls файл и сохранить его как .csv, обязательно в настройках сохранения нужно указать разделителем столбцов ;(точка с запятой). Заходим в компонент, жмем Создать. Пишем название таблицы, алиас, затем на своем компьютере находим созданный файл. Если в нашем файле первая строчка является заголовком таблицы, выбираем Да.  И нажимаем Uploade file.

Правильный .csv файл выглядит так:

 

Столбец 1 ; Столбец 2 ; Столбец 3 ; Столбец 4
Инфо 1 ; Инфо 2 ; Инфо 3 ;Инфо 4


Ниже появляется список построенных полей. В общем, там все понятно: редактируем заголовки, описания, порядок следования столбцов. Выбираем, какого типа данные будут в каждом столбце. Можно в таблицу помещать картинки (указать при  обновлении файла директорию, в которую закачаны картинки). Текст, внесенный в поле Описание будет виден при наведении мышки на заголовок.

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

Теперь смотрим, что за таблица у нас получилась.

Вид таблиц легко можно привести в соответствие с дизайном сайта, так как псевдоним поля является CSS классом. Для форматирования нужно использовать файл template.css. Я сделала цветной заголовок и задала фон для чередующихся строк.  А также сделала отступы для записей в таблице.

.sectiontableheader {
background-color: #9fc2df;
}

.row0 {
background-color: #ffffff;
}

.row1 {
background-color: #e8ecef;
}

td.colfld {
padding:5px 2px 5px 2px;
border:1px solid #57a3d0;
}

Другие изменения:
в файле components/com_easytable/views/easytable/tmpl/default.php отформатировала страницу с таблицей. Ссылки на предыдущую-последующие страницы перенесла на новую строчку и поставила по центру.

easytable1
В файле language/en-GB/en-GB.com_easytable.ini поменяла слово Search на Поиск и  Go на Искать.

easytable2

Вот, пожалуй, и все.

Дальнейшие работы с компонентом Easetable: Импорт таблиц из Excel. Часть вторая

Отзывов: 22 на «Импорт таблиц из Excel»

  1. Записки Админа тематического сайта » Архив сайта » Импорт таблиц из Excel. Часть вторая пишет:

    […] прошлый раз я писала, как установить на сайт и настроить компонент Easytable. Описала, как можно с помощью CSS придать получившимся […]


  2. Фильмы пишет:

    С Новым Годом Вас !
    Пусть принесет удачи и счастья !!!


  3. Денис пишет:

    Хотелось бы услушать как выводить таблицу отдельно в материале?
    а не только в меню
    Возможно ли это?


  4. БлогАдмина пишет:

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


  5. Александр пишет:

    Таблице в материале выводятся достаточно просто:

    {component}index.php?option=com_easytablepro&view=easytable&id=00{/component}

    Вместо 00 — id Вашей таблицы в Easy Table.


  6. БлогАдмина пишет:

    Спасибо, Александр. Теперь буду знать.


  7. Александр пишет:

    Дополнение.

    За давностью времени запамятовал:
    для вывода таким способом требуется плагин Plugin include component, он распространяется бесплатно.


  8. Алексей пишет:

    Может подскажите. Компонент устанавливается нормально, но когда я хочу в него зайти выдает такую строку. docs/administrator/components/com_easytable/views/easytables/view.html.php on line 57


  9. Алексей пишет:

    Точнее такую
    Fatal error: Call to undefined function simplexml_load_file() in /home/n/t.ru/docs/administrator/components/com_easytable/views/easytables/view.html.php on line 57


  10. Алексей пишет:

    Нашел на другом ресурсе

    If you’re comfortable editing PHP file you can disable the version check by making the following changes.

    For EasyTable for J!

    Starting at line 46 through to line 81 of

    \administrator\components\com_easytable\views\easytables\view.html.php

    you will find a function called et_version() replace that function with the code below:

    Note: you will have to do this for any updates, like the about to be released 1.0.5a.

    function et_version($source=’public’)
    {
    /**
    *
    * Let’s fake a version check.
    *
    **/
    $et_version = ‘0.0’;
    $et_version_tip = JText::_(‘VERSION_CHECK_FAILED_TO_CONTACT_SERVER_’);

    $et_version_array = array(«version» => $et_version, «tip» => $et_version_tip);

    return $et_version_array;
    }


  11. БлогАдмина пишет:

    Да, Алексей, я встречала упоминание о такой ошибке.
    Пишут, что это серверная ошибка, не не включено расширение SimpleXML.
    У меня такого не было.
    Ваш сайт стоит локально?


  12. Алексей пишет:

    Нет, на хостинге. Я уже привел решения, оно взято с сайта разработчика. Теперь что-то с CSV не выходит…


  13. БлогАдмина пишет:

    а что именно с CSV? У меня тоже не сразу получилось.


  14. Алексей пишет:

    Во-первых. Кода захожу в компоненты -> EasyTable-> Там девственно пусто… Т.е. я зоздал порядка 10 таблиц, пока пробовал варианты CSV, но ни одна там не отображается…
    Во-вторых. Создаю CSV, создаю таблицу в компоненте, создаю пункт меню на эту таблицу, захожу на сайт, таблица не отображается…Может не правильно CSV делаю


  15. БлогАдмина пишет:

    Алексей, я добавила в текст пример файла .csv, который работает


  16. Алексей пишет:

    Да, спасибо большое! Все норм. Вот только у вас поиск тоже не совсем корректно работает? У меня он находит например 2 позиции по прайсу, а что бы потом опять целиком весь прайс посмотреть, надо из поиского поля удалить все символы и опять нажать «GO»… А иначе никак…


  17. БлогАдмина пишет:

    Да, Алексей, такое есть в поиске. Можно, наверно, залезть в скрипты и добавить чистку поля ввода, но не стала. Пока так работает.


  18. Алексей пишет:

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


  19. pivil пишет:

    Здравствуйте.
    Подскажите пожалуйста какие ограничения в easyTable по размеру загружаемого .csv файла.
    Мой csv ~700мб )) такой вообще можно конвертировать в sql. Сразу вопрос вдогонку, если не с помощью easyTable, то с помощью чего это осуществимо?
    Заранее спасибо.


  20. БлогАдмина пишет:

    На сайте разработчика я не встречала упоминания об ограничениях.
    А Вы пробовали конвертировать? Что пишет?
    Каких-то других плагинов я не искала, меня вполне устраивает easyTable


  21. pivil пишет:

    Ничего не пишет, просто вылетает на главную админскую страницу. Я не стал заморачиваться, разбил на несколько таблиц, удалил не совсем нужное и залил по отдельности, но видимо ограничение 2 Мб, как во встроенной функции конвертации в PhpMyAdmin.


  22. БлогАдмина пишет:

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


Ваш отзыв

XHTML: Вы можете использовать следующие теги: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>