예제 #1
0
 /**
  * Save file.
  * @param string $ext
  * @param bool|false $path
  */
 public function save($ext = 'xlsx', $path = false)
 {
     $this->setStoragePath($path);
     $this->ext = $ext;
     $file = $this->path . '/' . $this->file . '.' . $this->ext;
     $this->_setFormat();
     $this->_setWriter();
     $this->writer->save($file);
 }
예제 #2
0
 public static function sendExcel(\PHPExcel_Writer_IWriter $writer, $fileName = NULL)
 {
     header("Pragma: public");
     header("Expires: 0");
     header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
     header("Content-Type: application/force-download");
     header("Content-Type: application/octet-stream");
     header("Content-Type: application/download");
     header("Content-Disposition: attachment;filename={$fileName}");
     header("Content-Transfer-Encoding: binary ");
     //Seems that there's a bug on PHP excel 2007 and we can't write directly
     //to stdout. Actually the code attempts to make the EXACT same thing
     //we are doing here when the string equals to php://stdout or php://output
     $file = File::makeTemporary('__apf_excel_download');
     $writer->save($file);
     $file->chunkedOutput();
 }
예제 #3
0
 /**
  * Stream the file as Response.
  *
  * @param \PHPExcel_Writer_IWriter $writer
  * @param int                      $status
  * @param array                    $headers
  *
  * @return StreamedResponse
  */
 public function createStreamedResponse(\PHPExcel_Writer_IWriter $writer, $status = 200, $headers = array())
 {
     return new StreamedResponse(function () use($writer) {
         $writer->save('php://output');
     }, $status, $headers);
 }
예제 #4
0
 /**
  * @param PHPExcel_Writer_IWriter $objWriter
  */
 protected function saveOutputAndExit(PHPExcel_Writer_IWriter $objWriter)
 {
     $objWriter->save('php://output');
     exit;
 }
예제 #5
0
 /**
  * @param \PHPExcel_Writer_IWriter $writer
  *
  * @return StreamedResponse
  */
 public function createResponseForExcel(\PHPExcel_Writer_IWriter $writer)
 {
     $response = new StreamedResponse(function () use($writer) {
         $writer->save('php://output');
     });
     $response->headers->set('Content-Type', 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
     return $response;
 }