Есть ли модуль экспорта в Excel?

Статус
В этой теме нельзя размещать новые ответы.
Однозначно очень полезная весч. Спасибо :)
 
Хм... тоже хотелось бы поиметь такой модуль :)
 
кто-нть продаёт экспорт именно в ХЛС ? что-то я даже не знаю как это самому написать
 
  • Заблокирован
  • #24
А чем не нравятся стандартные средства Microsoft ?
Открываем страничку прайса в стандартном Explorer, правой кнопкой мышки клоцаем на таблице и выбираем экспорт в Excel ... что может быть проще?
 
А чем не нравятся стандартные средства Microsoft ?
Открываем страничку прайса в стандартном Explorer, правой кнопкой мышки клоцаем на таблице и выбираем экспорт в Excel ... что может быть проще?

Вот и я про это ..молодец 5 балов тебе за сообразительность:ay:
И не нужны не какие модули!! Да но ! Как я понял то в модуле можно будет выбирать групыы товаров для Экспорта а тут он копирует все подрят))
 
На самом деле все не так уж и сложно.
Ловите мое решение. Правда у меня не модуль в админке, а отдельный скрипт, который запускается по крону 1 раз в час. Что делает:
формирует прайс в экселевском формате, показывает время генерации, логотип магазина (картинка bmp), контактные телефоны и ссылки на категории товаров в шапке. При этом при прокрутке вниз прайса шапка всегда остается навершу. Напротив каждой позиции, помимо цен, есть ссылка на страницу с данным товаром.

Делал для себя, так что сильно претензий не предъявлять. :) Если не будет работать - попробуйте раскомментировать
Код:
//require_once 'PEAR.php';
в файлах.

 
ой как красиво расписано!!!
как его настраивать? пожалуйста дайте инструкцию для не очень опытных юзеров!
 
Вот и я про это ..молодец 5 балов тебе за сообразительность:ay:
И не нужны не какие модули!! Да но ! Как я понял то в модуле можно будет выбирать групыы товаров для Экспорта а тут он копирует все подрят))

В любом случае, по-моему, легче вывести прайс в нужном объеме с нужными полями в html таблицу на сайте с последующим выводом в Exсel, чем сразу формировать .xls файл.
 
Мой пример основан на Spreadsheet_Excel_Writer.
Неплохой пример работы с excel средствами php находится здесь (Для просмотра ссылки Войди или Зарегистрируйся).
Официальная документация: Для просмотра ссылки Войди или Зарегистрируйся.
Теперь подробнее про мой код:

В файле functions.php находятся функции для подключения к БД и для выбора строк из БД. Впринципе, можно было использовать стандартные шоп-скриптовские функции db_connect, db_select_db и db_query, но так уж исторически сложилось, что у меня они переписаны заново.
Функция CreatePrice формирует сами строки прайса. Сначала пытается получить категорию товара, а затем выводит все товары из этой категории. Выводит информацию в каждой строке в следующем порядке:
1. Пусто
2. $tovar[$i]['name'] - название товара
3. $tovar[$i]['brief_description'] - краткое описание
4. Ссылка на страницу или слово "Ожидается"
5-7. Цена1-3 в у.е.
8. Цена в ру***х.
Здесь использована функция iconv, т.к. файл functions.php в кодировке КОИ-8, а для экселя должен быть в windows-1251.

Следующий нужный файл - pricelist.php. Отвечает за создание файла прайса, его шапки, затем вызывает функцию CreatePrice и потом запаковывает получившийся прайс в зип-архив. Подробнее:
Код:
$worksheet->setColumn(0, 0, 26);
$worksheet->setColumn(1, 1, 33);
$worksheet->setColumn(2, 2, 35);
$worksheet->setColumn(3, 3, 24);
$worksheet->setColumn(4, 4, 17);
$worksheet->setColumn(5, 7, 10);
Здесь формируется ширина колонок в пикселях (26, 33, 35 и т.д.).

Далее формируются другие строки заголовка и определяются стили отображения. Например:
Код:
$heading1  =& $workbook->addFormat(array(
                                        'bold'    => 1,
                                        'color'   => 'white',
                                        'size'    => 8,
                                        'fgcolor' => 'orange'
                                        ));
Стиль heading1 - белый жирный шрифт размером 8 на оранжевом фоне. Про остальные стили в файле, думаю, понятно.
Код:
$freeze = array(17, 0, 17, 0); 
$worksheet->freezePanes($freeze);
"Заморозить" первые 17 строк (заголовок).
Ну а далее идет вызов функции CreatePrice и упаковка всего прайса в архив.

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

P.S. Сейчас для другого проекта доделываю генерацию xls-прайса на лету. На днях выложу код.
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху