PHPExcel не открывается созданный xls файл

kostikmal

Новичок
Добрый день!
Есть сайт, на сайте есть библиотека PHPExcel 1.7.9, и есть генерация *.xlsx файла, она работает без проблем и файл открывается тоже без проблем.
Есть задача: на этом сайте дополнительно сделать генерацию того-же файла в формате *.xls
Файл генерируется но при открытие ОпенОфис выдает ошибку "Общая ошибка ввода-вывода" (соответственно не открывает), MS Excel тоже не открывает, говорит что-то типа "данные повреждены". Файл не пустой.
генерацию делаю вот так
$objWriter2003 = PHPExcel_IOFactory::createWriter($e, 'Excel5');
$objWriter2003->save($_SERVER["DOCUMENT_ROOT"].'/upload/pricelist_autogenetate/price'.$priceID.'.xls');

Как мне это исправить?
 
внутри не пустого файла если почитать никаких ворнунгов или нотисов не видно?
 
ну не знаю чем помочь, напиши чтоль простой файл который hello world в экселе пишет и экспортни хоть пообсуждать будет что.
так вроде твои 2 строчки правильные
 
Excel5 - это очень-очень древний формат экселя 95/97+. Этот формат не умеет утф, и там нужно явно указывать кодировки, и т.п.
 
Да нет, PHPExcel сам по себе умный скрипт, ничего дополнительно указывать не надо, все что надо он укажет сам.
 
Не укажет. Откуда ему знать, в какой кодировке ты хочешь файл получить? Данные, естественно, тоже самому перекодировать надо перед этим.
 
PHP:
$objWriter2003->save($_SERVER["DOCUMENT_ROOT"].'/upload/pricelist_autogenetate/price'.$priceID.'.xls');
Файл сохраняется на диск, если в поток вернуть надо, то там стандартные заголовки надо указать + формат файла.
Я сохранял в этом формате, ни каких проблем не было и кодировку не указывал, это давно было, но не думаю, что там поменялось что-то.
 
Проблема была в следующем: PHPExcel для работы нужно mbstring.func_overload == 0, а Битриску mbstring.func_overload == 2. Сделали в отдельной папочке mbstring.func_overload =2 и все заработало как надо.
 
Сверху