PHPExcel导出Excel文件时出现错误的解决办法
发布:smiling 来源: PHP粉丝网 添加日期:2013-12-02 20:50:56 浏览: 评论:0
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中的设置,请根据自己服务器的情况量力而行。
Tags: PHPExcel 导出 Excel
相关文章
- ·Codeigniter+PHPExcel实现导出数据到Excel文件(2021-02-13)
- ·Yii中使用PHPExcel导出Excel的方法(2021-05-04)
- ·ThinkPHP框架实现导出excel数据的方法示例【基于PHPExcel】(2021-09-17)
- ·Yii Framework框架使用PHPExcel组件的方法示例(2021-12-07)
- ·Yii框架使用PHPExcel导出Excel文件的方法分析【改进版】(2021-12-07)
- ·Yii框架中使用PHPExcel的方法分析(2021-12-07)
- ·Laravel 将数据表的数据导出,并生成seeds种子文件的方法(2021-12-28)
- ·Codeigniter生成Excel文档的简单方法(2021-02-13)
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)