Доброго времени суток. Передо мной стоит задача, импортировать файл .xls который находиться в архиве и должен скачиватся по ссылки каждые сутки. Как его скачивать и извлекать из архива это второй вопрос. Главный вопрос, подскажите пожалуйста, какие есть рабочие методы загрузки данных из xls в инфоблоки? Я нашел три способа: 1- Решение http://marketplace.1c-bitrix.ru/solutions/mcart.xls/ проблема в том что ему подавай только xlsx, меня не устраивает изначально
2- Нашел класс - http://habrahabr.ru/post/178089/ но стоило мне прописать - require_once "Classes/PHPExcel.php"; как выхватил ошибку - Fatal error: Uncaught exception 'PHPExcel_Exception' with message 'Multibyte function overloading in PHP must be disabled for string functions (2).' in /Classes/PHPExcel/Autoloader.php:34 Stack trace: #0/Classes/PHPExcel.php(32): require() #1 /a.php(3): require_once('/var/www/vhosts...') #2 {main} thrown in /Classes/PHPExcel/Autoloader.php on line 34
Разбираться особо не стал, понадеялся на другое решение.
kirov43 написал: Также актуально как лечить PHPExcel и битрикс mbstring.func_overload обязательно ли должна установлено в 2 для битрикса?
Если PHPExcel требует mbstring.func_overload=0, то можно для папки с PHPExcel в настройках хоста апача задать это значение, а для Битрикс не трогать, оставить mbstring.func_overload=2 Если Битрикс установлен в кодировке UTF-8 то mbstring.func_overload = 2, для Windows1251 mbstring.func_overload = 0
Можно в файле PHPExcel/Autoloader.php закомментировать проверку на значение mbstring.func_overload:
Код
if (ini_get('mbstring.func_overload') & 2) {
throw new PHPExcel_Exception('Multibyte function overloading in PHP must be disabled for string functions (2).');
}
Костыль, конечно, но все работает. По крайней мере при выполнении базовых задач (импорт/экспорт в xls) я не замечал каких-то косяков.