大家好,我是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");
但是这会将它保存到我的服务器
谢谢你
header
行和->save()
操作的输出。您需要决定是显示页面还是提供下载。这两种情况都不容易用一个脚本实现。但是,您可以为下载创建一个脚本,为页面创建另一个脚本,并在执行页面脚本后重定向到下载脚本,该脚本将使浏览器提供"另存为"对话框。 - hakrephp://output
时,您如何设置Content-Length
标头? - tonix$objWriter
已经为您提供了它,要么您需要跟踪输出站点。在这种情况下,您可能希望首先将其输出到模板文件中,获取文件的大小,然后再流式传输到浏览器。 - hakre