MODX Revolution

PHPExcel

Библиотека PHPExcel с правками под PHP 8: чтение и запись xlsx и xls для компонентов MODX.

Ставит библиотеку PHPExcel 1.8.x в core/components/phpexcel/ и больше ничего не делает: ни таблиц, ни страниц, ни пунктов меню.

Пакет нужен компонентам, которые работают с Excel: одна копия библиотеки на сайт вместо отдельной копии в каждом компоненте.

Как подключить

$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';

В gtsAPI есть готовый метод gtsAPI::phpExcelPath($modx). Он вернёт каталог библиотеки или пустую строку, если её нет.

Совместимость с PHP 8

Разработка PHPExcel остановилась в 2015 году, и под PHP 8 библиотека не работала. В пакете исправлено:

  • выгрузка с автофильтром падала с фатальной ошибкой;
  • чтение атрибутов формулы из null при записи Excel2007;
  • предупреждение на каждое числовое значение;
  • обращение к пустому стеку при разборе формул.

На PHP 7.4 поведение прежнее.

Для нового кода

Для новых компонентов лучше взять PhpSpreadsheet. Этот пакет для компонентов, которые уже написаны под PHPExcel.

Лицензия

GNU LGPL 2.1 или новее. Copyright (c) 2006–2015 PHPExcel.

Что нового

Библиотека PHPExcel 1.8.x выделена из getTables в отдельный пакет.
- Путь задаётся настройкой phpexcel_path.
- Правки совместимости с PHP 8: выгрузка с автофильтром больше не падает, убраны предупреждения при записи чисел и разборе формул.