我有一个 PHP 脚本,它使用 PHPExcel 打开模板,从数据库查询中插入值,然后将结果返回给浏览器。它在 Firefox 中完美运行,但在 Internet Explorer (8) 中,当它尝试打开文件时,它会中断:
Internet Explorer 无法从 my.domain 下载 generate.php。
Internet Explorer 无法打开此 Internet 站点。请求的站点不可用或找不到。请稍后再试。
我正在使用(generate.php
)的代码如下:
// Open template
$xlRead = PHPExcel_IOFactory::createReader('Excel5');
$xl = $xlRead->load('Template.xls');
$xl->setActiveSheetIndex(0);
// Write data
$xl->getActiveSheet()->fromArray($dbOutput, null, 'A1');
// Output to browser
header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT');
header('Cache-Control: no-store, no-cache, must-revalidate');
header('Cache-Control: post-check=0, pre-check=0', false);
header('Pragma: no-cache');
header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename=MyReport.xls');
$xlWrite = PHPExcel_IOFactory::createWriter($xl, 'Excel5');
$xlWrite->save('php://output')
编辑似乎这个问题只在 SSL 之后影响 IE。因此,这与几个类似的 SO 问题是相同的问题。人们的建议是调整标题,但到目前为止,我所看到的解决方案的组合都没有奏效......