phpexcel下载文件并保存在目录中

时间:2016-02-01 10:16:00

标签: save phpexcel

我正在使用带有codeignitor的phpexcel。以下代码仅供下载。我希望它也应该在以下路径中保存文件

$ filename =“kp.xlsx”; $ filePath = FCPATH。“files / application_download /".$ filename;

if (file_exists($filePath)) {
             unlink($filePath);
            }
            header('Content-Type: application/vnd.ms-excel');
            header('Content-Disposition: attachment;filename="' . $filename . '"');
            header('Cache-Control: max-age=0');
            $objWriter = PHPExcel_IOFactory::createWriter($this->excel, 'Excel2007');
          $objWriter->save('php://output');

如果我这样做$ objWriter-> save($ filePath);那么这将保存一个空白文件

2 个答案:

答案 0 :(得分:0)

不是直接保存到php://输出,而是将文件保存到服务器,然后使用PHP readfile()函数将该文件传输到浏览器;但请确保您的网络服务器用户有权将文件写入该文件夹。

$objWriter->save($filePath);
readfile($filePath);

答案 1 :(得分:0)

如果您想自己给出姓名,那么您可以指定我在$a

中指定的名称

我想使用调用此函数的文件名,因此我还将该名称连接到excel文件名,并将当前日期附加到文件名

LogReport是我的文件将被下载的文件夹

self::$objPHPExcel = new PHPExcel();
$objWriter = PHPExcel_IOFactory::createWriter(self::$objPHPExcel, 'Excel2007');
        $a = 'Log' . self::$filename . date("Y-m-d") . '.xlsx';
        $objWriter->save(__DIR__ . '/LogReport/' . $a);