我目前正在用PHP完成一个网页。
基本上有一些数据需要输出到Excel文件。 所以在google之后找到了这个PHPExcel项目,并使用它来输出数据。这很完美。
现在,当所述数据输出准确时我使用window.open(URL_OF_THE_MAKEOUTPUT.PHP_FILE_GOES_HERE)
javascript函数,因此保存数据的当前窗口是完整的。现在,我想在生成excel文件时关闭第二个窗口并开始下载到客户端计算机。
所以,到目前为止,我知道这段代码存在问题
header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename=report-'.date('d.m.Y').'.xls');
贝塞尔,我不能这样做后 - >
echo "<script>window.close;</script>";
我尝试使用
ob_start("callback");
在页面的thery开头,
ob_end_flush();
最后,但仍然没有运气。
有什么想法吗?
提前Tnx !!!
答案 0 :(得分:3)
请勿使用window.open
打开弹出窗口。如果你在主窗口中调用你的URL并且它是一个下载(感谢你的header()
电话),你的浏览器将是智能的,并保持窗口中现有的页面/数据完好无损。所以,不需要弹出窗口。
答案 1 :(得分:2)
您可能想要做的是改用:
location.href = URL_OF_THE_MAKEOUTPUT.PHP_FILE_GOES_HERE;
它将重定向到下载脚本,因为它是文件附件,它不会离开当前页面,而是从浏览器显示“下载文件”对话框。