phpexcel для загрузки

привет я новичок в phpexcel, и мне было интересно, если есть какой-то способ отправить excel, который я создал для загрузки клиентов, не сохраняя его на моем сервере или удаляя его сразу после его загрузки

Я пытаюсь создать кнопку «экспорта» на странице, которая даст пользователю «всплывающее окно» с преимуществом, которое он хочет, чтобы я только что создал.

теперь после создания таблицы я делаю:

$objXLS->getActiveSheet()->getColumnDimension("A")->setAutoSize(true); $objXLS->getActiveSheet()->getColumnDimension("B")->setAutoSize(true); $objXLS->getActiveSheet()->setTitle('Test Stats'); $objXLS->setActiveSheetIndex(0); $objWriter = PHPExcel_IOFactory::createWriter($objXLS, 'Excel5'); $objWriter->save(__DIR__."/test1.xls"); 

но это сохраняет его на моем сервере

Спасибо

Вместо сохранения его в файл сохраните его в php://output Docs :

 $objWriter->save('php://output'); 

Это отправит AS-IS в браузер.

Вы хотите сначала добавить некоторые заголовки Docs , как это обычно бывает при загрузке файлов, поэтому браузер знает, какой тип этого файла и как его следует назвать (имя файла):

 // We'll be outputting an excel file header('Content-type: application/vnd.ms-excel'); // It will be called file.xls header('Content-Disposition: attachment; filename="file.xls"'); // Write file to the browser $objWriter->save('php://output'); 

Сначала создайте заголовки, затем сохраните. В заголовках Excel также рассматривается следующий вопрос: Установка типа mime для документа excel .

 $excel = new PHPExcel(); header('Content-Type: application/vnd.ms-excel'); header('Content-Disposition: attachment;filename="your_name.xls"'); header('Cache-Control: max-age=0'); // Do your stuff here $writer = PHPExcel_IOFactory::createWriter($excel, 'Excel5'); // This line will force the file to download $writer->save('php://output'); 

Использовать этот вызов

 $objWriter->save('php://output'); 

Чтобы вывести лист XLS на страницу, на которой вы находитесь, просто убедитесь, что на странице, на которой вы находитесь, нет других эхо-сигналов, выходов.

ДЛЯ ИСПОЛЬЗОВАНИЯ XLSX

SET IN $ xlsName name из XLSX с расширением. Пример: $ xlsName = 'teste.xlsx';

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

ДЛЯ ИСПОЛЬЗОВАНИЯ XLS

SET IN $ xlsName name из XLS с расширением. Пример: $ xlsName = 'teste.xls';

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

возможно, вы уже решили свою проблему, так или иначе я надеюсь, что это поможет вам.

все загруженные файлы начинаются с пустой строки, в моем случае, где четыре пустые строки, и это создает проблему. Независимо от того, работаете ли вы с readfile(); или save('php://output'); , Это можно исправить добавлением ob_start(); в начале скрипта и od_end_clean(); непосредственно перед readfile() ; или save('php://output'); ,

  header('Content-type: application/vnd.ms-excel'); header('Content-Disposition: attachment; filename="file.xlsx"'); header('Cache-Control: max-age=0'); header ('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); header ('Last-Modified: '.gmdate('D, d MYH:i:s').' GMT'); header ('Cache-Control: cache, must-revalidate'); header ('Pragma: public'); $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5'); $objWriter->save('php://output');