今天一个线上项目反应导入excel文件时,网页直接卡死,导入excel文件时失败,经过一步一步的验证发现是在读取excel文件时卡死,此项目使用的是phpoffice/phpexcel拓展,最后发现是在执行load方法加载excel文件时出现卡死,之前在导入excel文件一直是正常的,而且excel中的数据也不是很多,到底是由于什么原因造成的呢?

最后在查找phpoffice/phpexcel官方文档中发现,这是由于excel文件中存在了某些特殊字符导致了加载excel文件时崩溃,既然找到了原因,就一定有解决方法,在phpoffice/phpexcel中有一个属性可以解决此方法readDataOnly,此属性在拓展中默认时false,我们需要将readDataOnly属性设置为true$PHPExcel->setReadDataOnly(true);  //过滤excel中的特殊字符

所以完整的读取excel的代码如下:$PHPExcel = new PHPExcel_Reader_Excel2007();

$file = 'excel文件';

try {

if (!$PHPExcel->canRead($file)) {

//默认用excel2007读取excel,若格式不对,则用之前的版本进行读取

$PHPExcel = new PHPExcel_Reader_Excel5();

}

$PHPExcel->setReadDataOnly(true);  //过滤excel中的特殊字符

$excel = $PHPExcel->load($file);//加载excel

//读取excel文件中的第一个工作表

$currentSheet = $excel->getSheet(0);

} catch (Exception $e) {

throw new InvalidValueException('请选择正确的导入文件!');

}

$allRow = $currentSheet->getHighestRow() - 1; //获取excel总行数

//读取excel信息

for ($currentRow = 1; $currentRow <= $allRow; $currentRow++) {

//读取指定列数据0表示第一列

$currentSheet->getCellByColumnAndRow(0, $currentRow + 1)->getValue()

}

php使用office modi吗,使用phpoffice/phpexcel拓展读取excel内容卡死解决相关推荐

  1. php无法查询excel数据,laravel phpexcel无法读取excel中中文表头列数据

    在使用Laravel中的phpexcel读取文件时,碰到一个问题: 代码: Excel::load($file, function ($reader) { $results = $reader-> ...

  2. php循环读取excel每个单元格,php使用PHPexcel类读取excel文件(循环读取每个单元格的数据)...

    error_reporting(E_ALL); date_default_timezone_set('Asia/ShangHai'); include_once('Classes/PHPExcel/I ...

  3. phpExcel 正确读取excel表格时间

    利用phpExcel读取excel文件,读取出来的时间列出现5位数字,并不是想要的时间(不知道为啥),在网上搜了一个excelTime的函数可以正确转化时间 品牌网站建设:http://www.uca ...

  4. php使用PHPexcel类读取excel文件(循环读取每个单元格的数据)

    error_reporting(E_ALL); date_default_timezone_set('Asia/ShangHai'); include_once('Classes/PHPExcel/I ...

  5. php excel 获取列数,利用PHPEXCEL读取EXCEL内容,主要是读取EXCEL可用列数 | 学步园...

    require_once '../Classes/PHPExcel.php'; $objPHPExcel = PHPExcel_IOFactory::load('simple.xls'); $objA ...

  6. php 中 excel表格判断,PHPexcel自动判断excel类型并读取excel所有sheet内容

    include "PHPExcel.php"; /* * 读取excel表数据 */ public function readExcel($filename){ $pathinfo ...

  7. php读取excel并导入数据,PHPExcel读取excel并导入数据库

    PHPExcel是一款php对于excel数据表读写的一个非常棒的插件了,下面我来给大家介绍利用PHPExcel读取excel并导入mysql数据库方法. 例1,代码示例,代码如下:require_o ...

  8. PHP使用PHPExcel读取excel表格

    分享一下PHP操作excel表,至于用途,除了导入导出,剩下的自己想象吧 第一步:上传excel 附件 form表单上传,这个就不用说的了,不会的百度下 PHP保存附件,简单DEOM /*获取提交的数 ...

  9. php office导出excel,phpoffice/phpexcel 导出数据

    一.安装 phpoffice/phpexcel composer require phpoffice/phpexcel 二.创建对象,写入数据 $objPHPExcel = new \PHPExcel ...

最新文章

  1. 5G+AI重新定义生老病死?
  2. C语言strcpy,strncpy和strlcpy讲解
  3. C# 学习笔记(5) 继承
  4. php网站同时在线人数,也谈php网站在线人数统计
  5. 【项目管理】人力资源管理
  6. 盘点20个最好的数据科学Python库(附链接)
  7. 这才是2018年的技术趋势:云、大数据、IOT深度融合
  8. 深度学习里的损失函数与交叉熵
  9. CSS实现导航栏半透明背景效果
  10. 如何让bootbox弹框垂直居中
  11. android 国际电话区号,中国国际区号_电话区号_中国区号是多少-中国区号查询
  12. Word文档中统一字符串八大妙法(转)
  13. SEO优化中关键词密度和布局的重要性
  14. 下载加速小妙招,我不允许你不知道
  15. java操作k8s api报错:SSLHandshakeException: should not be presented in certificate_request
  16. 前端Javascript第一天知识点:数据类型(重要)
  17. BZOJ 3772: 精神污染
  18. 对机器学习中鲁棒性的理解
  19. 经验分享:SecureCRT远程登录树莓派开发板
  20. ssm+java计算机毕业设计公交路线查询系统l1auz(程序+lw+源码+远程部署)

热门文章

  1. Spring security+jwt服务鉴权完整代码
  2. prometheus接入mysqld_exporter
  3. GitLab创建空仓库后拉取并上传文件遇到的系列问题
  4. 【超坑人的面试题】switch没有break
  5. Android传感器-开发指南
  6. 自己实现strcpy
  7. python(numpy,pandas1)——numpy(ndim,shape,size,zero, empty, arange, linspace)
  8. java的两种运行方式Applet和Application你真的懂吗
  9. 5.3.3 计算机网络传输层之TCP拥塞控制(慢开始与拥塞避免、快重传和快恢复)
  10. Linux 之八 完整嵌入式 Linux 环境、(交叉)编译工具链、CPU 体系架构、嵌入式系统构建工具