php无法导出excel,PHPExcel导出Excel文件时出现错误的解决办法
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文件时出现错误的解决办法相关推荐
- word在试图打开文件时遇到错误的解决办法
错误为 解决办法: 打开Word,选择-文件-选项 点击左侧的信任中心按钮,然后选择右侧的信任中心设置 进入信任中心后点击左侧的受保护视图选项卡,默认是三个选项都被选中的,如图 取消勾选第一个选项&q ...
- 【Word】Word运行时提示“Word在试图打开文件时遇到错误”的解决办法
今天突然遇到下载的带有 .doc文件使用office 2013打开时这个问题:见下图 经多次查找资料,找到一种解决方法如下: 点击 文件 里面有个选项: 再点击 信任中心----信任中心设置 如下图: ...
- java ee ide 假死_Eclipse编辑jsp、js文件时卡死现象的解决办法汇总
使用Eclipse编辑jsp.js文件时,经常出现卡死现象,在网上百度了N次,经过N次优化调整后,卡死现象逐步好转,具体那个方法起到作用,不太好讲.将所有用过的方法罗列如下: 1.取消验证 windo ...
- SQL Server 2000 安装文件挂起错误的解决办法
场景: 在Windows XP系统上安装SQL Server 2000,选择安装"简体中文标准版",提示该版本的操作系统不能安装服务器组件,只能安装SQL Server 2000个 ...
- 将文件复制到FTP服务器时发生错误的解决办法
自己新搭了一台FTP服务器,给部门同事一起用,用ftp软件上传文件没什么问题,直接通过windows的界面上传文件出现如下提示 应该是文件传输编码有问题 远程到ftp服务器 打开IIS 选择正在使用的 ...
- 64位系统使用Access 数据库文件遇到的错误和解决办法
64位系统中使用32位的Access数据源遇到的问题和解决办法 win32com.client使用不对应的Access数据源可能有以下错误 "C:\Program Files\Python3 ...
- 本地电脑远程服务器,复制大文件报未指定错误的解决办法
1.本地电脑快捷键WIN+R 打开运行窗口 2.输入 \\IP地址\磁盘$.如下: 3.上一步点击确定,即远程到了相应的磁盘,可在本地进行复制粘贴.
- 关于asp.net C# 导出Excel文件 打开Excel文件格式与扩展名指定格式不一致的解决办法...
-----转载:http://blog.csdn.net/sgear/article/details/7663502 关于asp.net C# 导出Excel文件 打开Excel文件格式与扩展名指定格 ...
- Excel 导出8000401a 错误及解决办法
在导出excel报表时遇到这样一个问题: 在本地直接运行一切正常: 把代码部署到服务器上,再次导出的时候,导出的excel文档字节数为0且不能打开,打开时报以下错误: 查看进程,excel进程没能正常 ...
最新文章
- R语言ggplot2可视化更改轴上数字的格式(显示格式)实战
- 动态隐藏ALV的行和列
- 算法系列之赫夫曼树的精解【构造流程及原理分析】
- localhost使用ipv4_使用 blackbox exporter 实现域名证书过期监控
- ubuntu14.04-64位机配置android开发环境,ADT,sdk,eclipsea
- Python编程一定要注意的那些“坑”(七)
- Tomcat9.0部署iot.war(环境mysql8.0,centos7.2)
- Linux下动态库的使用
- 获得当月时间chuo_擅用GTD时间管理法,远离焦虑情绪,让你的工作、学习井然有序...
- Java和jsp编程中应该注意的几个常见问题
- python与施耐德plc通讯_施耐德PLC两种编程通讯控制实例分享
- 宋宝华Linux培训笔记-Linux多进程
- 小米高通9008授权MiFlash刷机免认证思路
- Linux 下的桌面指针时钟
- 【Task02】Pandas之基础
- pmp项目管理师证书有用么?
- 斐讯k1支持千兆吗_斐讯K2是不是千兆路由器
- 【Axure】使用中继器实现登陆注册功能
- 毕业设计 Spring Boot个人健康信息管理系统(含源码+论文)
- linux下kettle安装部署