使用 PHPExcel 导出excel,IE下无法下载,火狐下正常。兄弟姐妹来看一下

qinwang008 2010-08-22 09:32:46
先说一下结构,
系统采用了zend framework框架,开启了rewrite 模块。
以下是部分代码:
require_once 'Zend/PHPExcel.php';
require_once 'Zend/PHPExcel/Writer/Excel5.php';
require_once 'Zend/PHPExcel/IOFactory.php';
$objPHPExcellog = new PHPExcel();
$objPHPExcellog->getActiveSheet()->setTitle('审计分析详表');

然后就是填写数据
$objPHPExcellog->getActiveSheet()->setCellValueByColumnAndRow(0, 2, “数据”);
$objPHPExcellog->getActiveSheet()->setCellValueByColumnAndRow(0, 3, “数据”);

$objPHPExcellog->setActiveSheetIndex(0);

$excelName = 'auditlog_'.date("YmdHis").'.xls';

$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcellog, 'Excel5');
header("Content-Type: application/force-download");
header("Content-Type: application/octet-stream");
header("Content-Type: application/download");
header("Content-Disposition: attachment; filename=".urlencode($excelName));
header("Content-Transfer-Encoding: binary");
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Pragma: no-cache");
$objWriter->save('php://output');

现在的状态是
在火狐下运行良好,一点导出按钮,就提示下载文件,内容也正常
在IE下就提示 无法下载
...全文
930 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
sarahou 2011-11-01
  • 打赏
  • 举报
回复
重新编码或者文件名中不要包含中文

if (preg_match('/MSIE/',$_SERVER['HTTP_USER_AGENT'])) {
$filename = rawurlencode($filename);
}
bingbingle 2011-07-30
  • 打赏
  • 举报
回复
ie浏览器不能正确导出excel 倒出来的是php文件 这是什么回事呢
青岛天子 2011-05-02
  • 打赏
  • 举报
回复
嗯嗯,问题解决了,原来是文件名里面有中文的原因,把文件名重新编码就可以了。
if (preg_match('/MSIE/',$_SERVER['HTTP_USER_AGENT'])) {
$filename = rawurlencode($filename);
}
青岛天子 2011-05-02
  • 打赏
  • 举报
回复
我也遇到了同样的问题,可是像楼上的修改方法,还是不行 ,IE7,360浏览器,都不好用,chrome 跟 FF 是正常的。
liutao5459 2011-04-19
  • 打赏
  • 举报
回复
这个问题我也纠结了一整天,最后的解决办法是修改header,代码如下,只要这三行
header('Pragma:public');
header('Content-Type:application/x-msexecl;name="'.$filename.'"');
header('Content-Disposition:inline;filename="'.$filename.'"');
xincheng31 2011-03-17
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 wanluo 的回复:]
引用 4 楼 qinwang008 的回复:
自己解决了。CSDN有时候也是虚有其名的。没人理巴我

不知是否可以告知是怎么解决的???
[/Quote]
自己解决了,注意在这些header("Content-Type: application/force-download");
之前不能有输出,空行也不行,注意那个php页面的结尾符号,后面不要有多余的行。。。。
xincheng31 2011-03-17
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 qinwang008 的回复:]
自己解决了。CSDN有时候也是虚有其名的。没人理巴我
[/Quote]
不知是否可以告知是怎么解决的???
yantang 2010-10-13
  • 打赏
  • 举报
回复
楼主如何解决的?我也遇到相同问题了
qinwang008 2010-08-22
  • 打赏
  • 举报
回复
自己解决了。CSDN有时候也是虚有其名的。没人理巴我

qinwang008 2010-08-22
  • 打赏
  • 举报
回复
FF下就一切正常。IE真不爽!
qinwang008 2010-08-22
  • 打赏
  • 举报
回复
程序生成了excel就直接推到屏幕上来了
提示下载
wll474127597 2010-08-22
  • 打赏
  • 举报
回复
你看看你下载链接访问的URL是不是带了参数,IE无法解析!

4,250

社区成员

发帖
与我相关
我的任务
社区描述
国内外优秀PHP框架讨论学习
社区管理员
  • Framework
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧