phpexcel下载

你好我是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文档:

$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类型。


$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表输出到您所在的页面,只需确保您所在的页面没有其他回显,打印输出。

链接地址: http://www.djcxy.com/p/46835.html

上一篇: phpexcel to download

下一篇: ASP.NET MVC: C# Download file and save as dialog