最近接手新项目的时候,本地的phpexcel跑不起来,导出文件的时候报错:“谷歌浏览器显示网页可能暂时无法连接,或者它已永久性地移动到了新网址的原因?”,国际惯例,碰到问题先百度,然后这里分析下报错的原因。

一、修改导出的excel版本

1、修改导出excel版本为excel5

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

我本地原来导出的是excel2007,但是百度的时候,有不少人都说修改为excel5就好了:

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

这里的excel5和excel2007对应的是excel的版本。excel5是指1993年 的Excel 5.0版本,有点太老了。不过我本地换成excel5之后,确实是能正常导出了。

2、碰到的问题

导出excel之后,打开提示:

Excel无法打开文件xxx.xlsx,因为文件格式或文件扩展名无效。请确定文件未损坏,并且文件扩展名与文件的格式匹配

关于excel打不开文件,这里有三个解决办法及思路:
(1)修改注册表
参考链接:https://blog.csdn.net/gl486546/article/details/76065316

这个方法有点治标不治本的意思,博主本地未测试。

(2)可能是错误信息在导出之前输出了,或者是BOM头等

在导出excel的时候,如果提前输出了debug信息,或者带着BOM头确实会影响生成的excel。
解决办法参考链接:
https://blog.csdn.net/beyond__devil/article/details/53283352

博主本地并不是这个问题造成的。

(3)可能是header头没写对

phpexcel在导出文件的时候,需要修改对应的header头信息,特别是关于文件类型的header头一定不能错,这部分大家可以参考下面的链接,看看自己本地的header头有没有问题。

参考链接:https://www.imdupeng.cn/coding/php/phpexcel-header.html

博主这边根据这三个办法,还是没能正常打开,感觉是excel的版本问题。导出的应该是excel2007才对,直接修改excel5并不是真正的解决办法。

二、php 7.0以上高版本的兼容问题

继续百度,发现一篇帖子说是要修改phpexcel的文件,因为php 7.0以上的版本和phpexcel有兼容问题。

然而还有一个不容易发现的问题,在高版本PHP7下,出现ERR_INVALID_RESPONSE的错误还可能由于下面的原因导致Fatal error: 'break' not in the 'loop' or 'switch' context in <mypath>\PHPExcel\PHPExcel\Calculation\Functions.php on line 581
请打开PHPExcel\Calculation\Functions.php文件,删除掉581行的break即可

参考链接:https://blog.csdn.net/yicixing7/article/details/65628064

博主这里删掉break之后,确实能正确导出了。这里导出的是excel2007版本,本地也能正常打开了,算是完美解决。

三、其他的问题

1、如果是要正常导出,要在最后加上exit

如果只是正常导出,则需要在导出方法的最后加个exit,代表到此结束。这样我们就能直接在浏览器上看到下载的效果,并且不会再运行其他的代码。

2、本地保存,浏览器白屏问题

如果是要保存,然后保存之后还要执行其他的代码,那这个保存方法的最后不要加exit。同时要注意保存方法的位置,最好是放到最后,这样可以防止浏览器白屏。
博主这里因为放的位置不对,放到其他的渲染页面方法之前保存excel文件,导致浏览器一直白屏。后面把这个方法换换位置就好了。

end

PHPExcel报错:谷歌浏览器显示网页可能暂时无法连接,或者它已永久性地移动到了新网址的原因?相关推荐

  1. 打开浏览器,显示网页可能暂时无法连接,或者它已永久性的移动到了新地址

    1.win+r,进入命令行 重置Winsock目录:以管理员身份在命令行中运行命令:netsh winsock reset catalog 2.输入:NETSH WINSOCK RESET CATAL ...

  2. 【已解决】谷歌浏览器提示:无法访问此网站网址为 http://localhost:6667/XXX/XXX 的网页可能暂时无法连接,或者它已永久性地移动到了新网址

    谷歌浏览器访问地址 http://localhost:6666/XX/XX 时提示:网址为 http://localhost:6667/XXX/XXX 的网页可能暂时无法连接,或者它已永久性地移动到了 ...

  3. 谷歌浏览器提示:无法访问此网站网址为 http://localhost:6667/XXX/XXX 的网页可能暂时无法连接,或者它已永久性地移动到了新网址

    谷歌浏览器访问地址 http://localhost:6666/XX/XX 时提示:网址为 http://localhost:6667/XXX/XXX 的网页可能暂时无法连接,或者它已永久性地移动到了 ...

  4. vue设置浏览器自动打开网址为 http://0.0.0.0:8080/ 的网页可能暂时无法连接,或者它已永久性地移动到了新网址。

    2022年6月14日,用脚手架创建了vue2项目,设置当项目运行起来的时候,让浏览器自动打开:"serve": "vue-cli-service serve --open ...

  5. windows10打开网页“网页可能暂时无法连接,或者它已永久性地移动到了新网址。 ERR_FAILED“报错解决方法

    win10打开网页提示"网页可能暂时无法连接"解决方法 在某次重装完系统之后使用一段时间,发现浏览器打开网页时常提示"网页可能暂时无法连接",但是微信等需要联网 ...

  6. 解决:无法访问此网站网址为 https://weread.qq.com/ 的网页可能暂时无法连接,或者它已永久性地移动到了新网址。 ERR_INSUFFICIENT_RESOURCES

    这两天chrome浏览器频繁地奔溃,出现以下报错: 后面看别人的教程也解决了问题: 我只是mark一下,并提醒一下:要用管理员身份运行.

  7. 如果谷歌浏览器突然打不开网页,显示:“网页可能暂时无法连接,或者它已永久性地移动到了新网址,返回ERR_TUNNEL_CONNECTION_FAILED“,亲测有效。

    打开cmd: 依次输入: ipconfig /flushdns nbtstat –r netsh int ip reset netsh winsock reset

  8. 谷歌浏览器:网址为 http://192.168.25.132:42/ 的网页可能暂时无法连接,或者它已永久性地移动到了新网址。

    解决过程参考: 感谢博主

  9. 无法访问此网站网址为 http://localhost:6000/xxx 的网页可能暂时无法连接,或者它已永久性地移动到了新网址。 ERR_UNSAFE_POR

    无法访问此网站 问题: 自己写的WEB服务, 端口6000在浏览器上怎么请求都无法访问此网站, 如下图: 在谷歌上访问: 在火狐上访问: 但是发现一个问题就是在Postman和IE里边测试是可以用的 ...

最新文章

  1. Android Q适配
  2. Lucene实战(第2版)》
  3. 开发遇到的问题---【spring-security权限控制框架】
  4. vue数组变化视图_vue数组操作不更新视图问题(示例代码)
  5. 牛客网专题 概率dp
  6. 一位资深php程序员在北京的面试30个题目
  7. 转 python 闭包的说明
  8. 子弹短信回应 App 下架;摩拜起诉滴滴;VS Code 1.28 发布 | 极客头条
  9. FRR BGP协议分析8 -- BGP 层3隧道 (2)
  10. tsql 和 clr 的性能实测比对
  11. 色彩空间(CIE色度图,SRGB,AdobeRGB...)
  12. 文件上传服务器方法,向服务器上传文件方法
  13. 8086/8088寻址方式
  14. 解读应聘阿里的注意事项
  15. Magento二次开发哪家好呢?
  16. vue中v-for的用法
  17. C# WPF开源控件库:Newbeecoder.UI使用指南(四)
  18. 利用声音传感器控制led灯功能_树莓派.利用声音传感器制作声控灯
  19. (架构)后端技术体系框架
  20. 标签编辑软件linux,Puddletag — Ubuntu下强大的Mp3标签编辑器

热门文章

  1. 帝国cms75商城包含电脑端手机端h5微信小程序的界面功能演示
  2. cpp cu入门教程
  3. cuda runtime error (59) : device-side assert triggered when running transfer_learning_
  4. caffe anaconda3 Python.h: 没有那个文件或目录
  5. CNN中的采样和池化心得
  6. java 中调用window系统中的文件,或者执行命令(shell、.CMD、.EXE)并获取返回值
  7. ORA-01504问题
  8. munmap_chunk(): invalid pointer
  9. linux nat 日志,IPtables日志管理  (记录NAT信息)
  10. 计算机考研数据库原理真题,四川理工学院计算机学院数据库原理历年考研真题汇编.pdf...