phpexcel文件是一款开源的php表格操作插件,只要用到excel数据导入导出的朋友大多数人都选择此款插件了,但在使用中也会有问题出现,下面来看问题分析研究。

PHPExcel是PHP中功能最强大的导入、导出、操作Microsoft Excel的开源项目。但是它体系复杂,有时会让人难以掌控。

PHPExcel导出Excel表的使用方法网上已经很多了,本文就不赘述。不过,在使用过程中,我却发现了一个莫名其妙的问题:那就是使用PHPExcel自动导出excel的文件有时候能够正常导出并打开,有时候生成的excel文件却无法打开,Excel2007提示“发现无法读取的内容”。

使用文本编辑器打开生成的Excel文件,发现一行提示“Fatal error: Call to a member function setValue() on a non-object in PHPExcel/Calculation/FormulaParser.php on line 431”。

经过仔细而又痛苦的检查发现,原来是因为在写入单元格的文本值中,有些值以等号开头,例如“====中国青年报...”,结果PHPExcel在写入这个单元格的时候,将其判定为公式,于是调用公式解析器去计算相应的值,但是又无法正确进行计算(因为本来就不是公式嘛),所以就导致生成的excel文件无法打开。

解决办法非常简单,

就是在往excel单元格写入文本值之前,先过滤掉等号“=”,即可。

以下是两种错误的解决办法:

(1)Fatal error: Maximum execution time of 30 seconds exceeded解决错误方法

需要修改php.ini文件,如果是使用Ubuntu 9.04 Server的服务器,可以在/etc/php5/apache2/下找到php.ini文件,如果是Freebsd,可以在/usr/local/lib/下找到php.ini文件。使用sudo权限编辑下面的语句:

将如下语句:

max_execution_time = 30

修改为:

max_execution_time = 300

也就是将PHP脚本最长执行时间从30秒延长到300秒。

然后重启一下Apache服务器,如果是Ubuntu Server的服务器,可以使用如下命令:

sudo /etc/init.d/apache2 restart

(2)Fatal error: Allowed memory size of 16777216 bytes exhausted 的解决办法

一样地需要修改php.ini文件:

将如下语句:

memory_limit = 16M

修改为:

memory_limit = 512M

也就是将PHP脚本所能够申请的内存从16M扩大到512M。具体数字可以根据自己的需要确定。

一样需要重启Apache服务器。

需要注意的是:

(1)以上的修改可能存在一定风险,例如给服务器造成过大的负担。所以请再三确认是否有必要给PHPExcel或者是其他PHP程序开放更大的内存空间以及更长的执行时间。

(2)修改完php.ini之后,只有重启Apache之后,新的设置才会生效。

(3)php.ini中的设置,请根据自己服务器的情况量力而行。

php无法导出excel,PHPExcel导出Excel文件时出现错误的解决办法相关推荐

  1. word在试图打开文件时遇到错误的解决办法

    错误为 解决办法: 打开Word,选择-文件-选项 点击左侧的信任中心按钮,然后选择右侧的信任中心设置 进入信任中心后点击左侧的受保护视图选项卡,默认是三个选项都被选中的,如图 取消勾选第一个选项&q ...

  2. 【Word】Word运行时提示“Word在试图打开文件时遇到错误”的解决办法

    今天突然遇到下载的带有 .doc文件使用office 2013打开时这个问题:见下图 经多次查找资料,找到一种解决方法如下: 点击 文件 里面有个选项: 再点击 信任中心----信任中心设置 如下图: ...

  3. java ee ide 假死_Eclipse编辑jsp、js文件时卡死现象的解决办法汇总

    使用Eclipse编辑jsp.js文件时,经常出现卡死现象,在网上百度了N次,经过N次优化调整后,卡死现象逐步好转,具体那个方法起到作用,不太好讲.将所有用过的方法罗列如下: 1.取消验证 windo ...

  4. SQL Server 2000 安装文件挂起错误的解决办法

    场景: 在Windows XP系统上安装SQL Server 2000,选择安装"简体中文标准版",提示该版本的操作系统不能安装服务器组件,只能安装SQL Server 2000个 ...

  5. 将文件复制到FTP服务器时发生错误的解决办法

    自己新搭了一台FTP服务器,给部门同事一起用,用ftp软件上传文件没什么问题,直接通过windows的界面上传文件出现如下提示 应该是文件传输编码有问题 远程到ftp服务器 打开IIS 选择正在使用的 ...

  6. 64位系统使用Access 数据库文件遇到的错误和解决办法

    64位系统中使用32位的Access数据源遇到的问题和解决办法 win32com.client使用不对应的Access数据源可能有以下错误 "C:\Program Files\Python3 ...

  7. 本地电脑远程服务器,复制大文件报未指定错误的解决办法

    1.本地电脑快捷键WIN+R 打开运行窗口 2.输入 \\IP地址\磁盘$.如下: 3.上一步点击确定,即远程到了相应的磁盘,可在本地进行复制粘贴.

  8. 关于asp.net C# 导出Excel文件 打开Excel文件格式与扩展名指定格式不一致的解决办法...

    -----转载:http://blog.csdn.net/sgear/article/details/7663502 关于asp.net C# 导出Excel文件 打开Excel文件格式与扩展名指定格 ...

  9. Excel 导出8000401a 错误及解决办法

    在导出excel报表时遇到这样一个问题: 在本地直接运行一切正常: 把代码部署到服务器上,再次导出的时候,导出的excel文档字节数为0且不能打开,打开时报以下错误: 查看进程,excel进程没能正常 ...

最新文章

  1. R语言ggplot2可视化更改轴上数字的格式(显示格式)实战
  2. 动态隐藏ALV的行和列
  3. 算法系列之赫夫曼树的精解【构造流程及原理分析】
  4. localhost使用ipv4_使用 blackbox exporter 实现域名证书过期监控
  5. ubuntu14.04-64位机配置android开发环境,ADT,sdk,eclipsea
  6. Python编程一定要注意的那些“坑”(七)
  7. Tomcat9.0部署iot.war(环境mysql8.0,centos7.2)
  8. Linux下动态库的使用
  9. 获得当月时间chuo_擅用GTD时间管理法,远离焦虑情绪,让你的工作、学习井然有序...
  10. Java和jsp编程中应该注意的几个常见问题
  11. python与施耐德plc通讯_施耐德PLC两种编程通讯控制实例分享
  12. 宋宝华Linux培训笔记-Linux多进程
  13. 小米高通9008授权MiFlash刷机免认证思路
  14. Linux 下的桌面指针时钟
  15. 【Task02】Pandas之基础
  16. pmp项目管理师证书有用么?
  17. 斐讯k1支持千兆吗_斐讯K2是不是千兆路由器
  18. 【Axure】使用中继器实现登陆注册功能
  19. 毕业设计 Spring Boot个人健康信息管理系统(含源码+论文)
  20. linux下kettle安装部署

热门文章

  1. 强化学习相关论文阅读笔记之稀疏奖励解决方法
  2. ZJM 与生日礼物(字典树)
  3. 万测试验机软件,万测关注检查井盖质量检测
  4. var 和int定义变量的问题【C#】
  5. thinkphp5学习路程 三 数据库操作
  6. 2021巢湖第一中学高考成绩查询,2021年巢湖高中学校排名及录取分数线排名
  7. 最好的体育测试软件,体育锻炼标准测试app
  8. 服务器负载过高的处理方式
  9. USV(Unmanned Surface Vessels)研究概况和发展趋势
  10. 信创云元年,易捷行云EasyStack发布新一代全栈信创云