码迷,mamicode.com
首页 > 其他好文 > 详细

一次奇特的导表错误解决:Xlsx::getArrayItem(): Node no longer exists

时间:2021-03-05 13:29:37      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:mamicode   img   only   xls   tar   jre   pread   调试   一个   

场景

我们有一个导入表格的功能,是为了给【泽维尔天才青少年学校】的X战警新成员开课用的。

正常导入的表格是这个样子的
技术图片
这里有一行数据,为了给金刚狼开课,让他能跟X教授欢乐的学习。

异常

但是,有人在里边加入了迪迦奥特曼图片!!!
技术图片

我们都知道迪迦奥特曼和我们的X战警不是一个次元的,奥特曼怎么能当X战警呢???没法这么开课!!!

于是在导表过程就抛出了一个这样的异常

PhpOffice\PhpSpreadsheet\Reader\Xlsx::getArrayItem(): Node no longer exists

这是由包PhpSpreadsheet的下面这行代码引起的

$objRead = IOFactory::createReader($fileType);
$spreadsheet = $objRead->load($filePath);

$objRead->load这个地方抛异常了。

各种谷歌百度都没人能解决,一度怀疑是不是包的版本错误了,各种回滚包版本,断点调试,然而没什么卵用。。。

解决

后来在阿赖耶识的指引下搞定了,方案如下:
$objRead->load($filePath)之前加上只读$objRead->setReadDataOnly(true)

$objRead = IOFactory::createReader($fileType);
$objRead->setReadDataOnly(true);
$objRead->load($filePath);

一次奇特的导表错误解决:Xlsx::getArrayItem(): Node no longer exists

标签:mamicode   img   only   xls   tar   jre   pread   调试   一个   

原文地址:https://www.cnblogs.com/chenqionghe/p/14485172.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!