您好,我是phpexcel的新手,我想知道是否可以通过某种方式将我创建的excel发送给客户端下载而不将其保存在我的服务器上,或者将其下载后立即删除
我正在尝试在页面上创建一个“导出按钮”,该页面将为用户提供他想要我刚刚创建的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文档中:
php://output
$objWriter->save('php://output');
这会将它按原样发送到浏览器。
你想添加一些头文件第一,喜欢它的常见的有文件下载,因此浏览器知道哪些类型的文件,它应该如何命名(文件名):
// 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标头,还请参见以下问题:为excel文档设置mime类型。