Бесплатно
Загрузите дополнение из админки вашего сайта.
Как загрузить?
Как загрузить?
Версия
1.0.0-pl
Дата выпуска
14.08.2026
Загрузки
0
Просмотры
5
Пакет ставит библиотеку PHPExcel в core/components/phpexcel/ и больше ничего не делает: ни таблиц, ни страниц, ни пунктов меню. Нужен как общая зависимость для компонентов, которым требуется выгрузка в Excel, — чтобы каждый не таскал собственную копию на 5 мегабайт.
Совместимость с PHP 8. Апстрим PHPExcel остановился в 2015 году и под PHP 8 не работал. В поставку внесены точечные правки, из-за которых запись xlsx падала или сорила в лог:
— в писателе Excel2007 скобка стояла не на месте: count($columns > 0) вместо count($columns) > 0. До PHP 8 это был warning, с PHP 8 — фатальная ошибка, и обрывался любой экспорт с автофильтром;
— там же чтение атрибутов формулы из null;
— определение типа значения брало нулевой символ у числа: предупреждение на каждое числовое поле выгрузки;
— разбор формул обращался к пустому стеку.
На PHP 5.6–7.4 поведение прежнее.
Использование:
$path = $modx->getOption('phpexcel_path', null, MODX_CORE_PATH. 'components/phpexcel/');
$path = str_replace('[[+core_path]]', MODX_CORE_PATH, $path);
require_once $path. 'PHPExcel.php';
Путь берётся из настройки phpexcel_path — библиотеку можно перенести, не трогая код потребителей.
Лицензия: LGPL 2.1, как у самой PHPExcel. Апстрим прекращён в пользу PhpSpreadsheet: для нового кода лучше брать её, этот пакет — для компонентов, уже написанных под PHPExcel.
Совместимость с PHP 8. Апстрим PHPExcel остановился в 2015 году и под PHP 8 не работал. В поставку внесены точечные правки, из-за которых запись xlsx падала или сорила в лог:
— в писателе Excel2007 скобка стояла не на месте: count($columns > 0) вместо count($columns) > 0. До PHP 8 это был warning, с PHP 8 — фатальная ошибка, и обрывался любой экспорт с автофильтром;
— там же чтение атрибутов формулы из null;
— определение типа значения брало нулевой символ у числа: предупреждение на каждое числовое поле выгрузки;
— разбор формул обращался к пустому стеку.
На PHP 5.6–7.4 поведение прежнее.
Использование:
$path = $modx->getOption('phpexcel_path', null, MODX_CORE_PATH. 'components/phpexcel/');
$path = str_replace('[[+core_path]]', MODX_CORE_PATH, $path);
require_once $path. 'PHPExcel.php';
Путь берётся из настройки phpexcel_path — библиотеку можно перенести, не трогая код потребителей.
Лицензия: LGPL 2.1, как у самой PHPExcel. Апстрим прекращён в пользу PhpSpreadsheet: для нового кода лучше брать её, этот пакет — для компонентов, уже написанных под PHPExcel.



Последние обсуждения в сообществе MODX.pro