PHPExcel сохранить файл в папке или открыть Excel

#php #phpexcel

#php #phpexcel

Вопрос:

Я использую PHPExcel для экспорта данных с моей PHP-страницы в Excel. Я использую Excel5.

Я хочу, чтобы файл Excel был сохранен в определенной папке, указанной в коде

ИЛИ еще лучше,

Я хочу, чтобы Excel открывался с записанными в нем данными, чтобы пользователь мог сохранять их везде, где он хочет. Что мне делать.

Пожалуйста, направьте меня

Предварительно

Ответ №1:

Я решил эту проблему, выполнив это:

 $objWriter->save(str_replace(__FILE__,'/path/to/save/filename.extension',__FILE__));
  

В моем случае это сработало!

Комментарии:

1. При сохранении phpexcel я получаю ошибку ZipArchive::close(). $objWriter->save(str_replace(__FILE__,$excel_path,__FILE__));

Ответ №2:

При этом пользователю будет предложено сохранить / открыть файл:

 $excel = new PHPExcel();
header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename="your_name.xls"');
header('Cache-Control: max-age=0');
// ...
$writer = PHPExcel_IOFactory::createWriter($excel, 'Excel5);
$writer->save('php://output');
  

Ответ №3:

Посмотрите на 01simple-download-xls.php в каталоге тестов PHPExcel. При этом файл Excel отправляется в браузер пользователя, который затем предлагает ему либо отобразить его (в Excel, если он установлен, или в другой программе для работы с электронными таблицами, если у них есть расширение, связанное с LibreOffice Calc, Gnumeric или любым другим), либо сохранить его на свой локальный диск.

Комментарии:

1. Я получаю ZipArchive::close() при сохранении phpexcel. $objWriter->save($excel_path);

Ответ №4:

Это решило эту проблему для меня:

 $this->objWriter->save(str_replace(__FILE__,$_SERVER['DOCUMENT_ROOT'] .'/path/to/save/filename.xlsx',__FILE__));