尝试在Internet Explorer中下载xlsx 2007文件

时间:2012-05-30 08:18:25

标签: php excel-2007 phpexcel

xlsx文件无法在IE中下载但在Firefox中正常工作    我的代码是

$objPHPExcel->setActiveSheetIndex(0);

// Redirect output to a client’s web browser (Excel2007)

header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');

header("Content-Disposition: attachment;filename='Monthly-Report-$month-$year'");

header('Cache-Control: max-age=0');



$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');

$objWriter->save('php://output');
//$objWriter->save(str_replace('.php', '.xlsx', __FILE__));
exit;

错误消息在IE中显示为 Internet Explorer无法下载xlsx.php(这是我编写代码的php文件) Internet Explorer无法打开此站点

2 个答案:

答案 0 :(得分:3)

是的,如果您使用HTTPS,那么Internet Explorer就会出现问题。在处理文件下载时,您需要从响应中删除Pragma标头。

下载前请输入以下代码:

header("Pragma: ");

只有当您使用安全的http运行时才会出现这种情况,如果情况并非如此,请告诉我们。

你可以在我的博客文章中找到更多描述,当我在https上遇到同样的问题时,我错了,而IE浏览器上的http工作非常完美。

http://blogs.digitss.com/programming/internet-explorer-was-not-able-to-open-this-internet-site-the-requested-site-is-either-unavailable-or-cannot-be-found/

我希望这会有所帮助。

答案 1 :(得分:-1)

使用application/vnd.ms-excel代替application/vnd.openxmlformats-officedocument.spreadsheetml.sheet以实现向后兼容。

如果您有权修改Web服务器的mime设置, 你需要添加 AddType application/vnd.openxmlformats .docx .pptx .xlsx AddType application/vnd.openxmlformats-officedocument.spreadsheetml.sheet .xlsx 对你的,例如,apache conf。

之后,请将您的文件名改为Monthly-Report-$month-$year.xlsx