一尘不染

phpexcel下载

php

您好,我是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");

但这将其保存到我的服务器

谢谢


阅读 1043

收藏
2020-05-29

共1个答案

一尘不染

与其将其保存到文件中,不如将其保存到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类型。

2020-05-29