phpexcel一个bug

Posted 会学习的猪

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了phpexcel一个bug相关的知识,希望对你有一定的参考价值。

 

大家好!


我想我发现了这个bug。 如果我从文件中图像删除,它加载正常。 如果有图像时候,何时
$ objphpExcel = PHPExcel_IOFactory :: load($ file);
我得到:.............未定义的偏移:-1 .........在PHPExcel \ Reader \ Excel5.php的第911行
那是 ....
$ BSE = $ BSECollection [$ BSEindex - 1]; //这里是问题,索引的值将是-1
$ blipType = $ BSE-> getBlipType();
从我的讲解中,意味着$ BSEindex的价值为零......
当然,这将在以后对方法“getBlipType”带来问题,这是在非对象上调用的......

修复方式:

                             // picture
                             // get index to BSE entry (1-based)
                             $BSEindex = $spContainer->getOPT(0x0104);
+
+                            // If there is no BSE Index, we will fail here and other fields are not read.
+                            // Fix by checking here.
+                            // TODO: Why is there no BSE Index? Is this a new Office Version? Password protected field?
+                            // More likely : a uncompatible picture
+                            if (!$BSEindex) {
+                                continue;
+                            }
+
                             $BSECollection = $escherWorkbook->getDggContainer()->getBstoreContainer()->getBSECollection();
                             $BSE = $BSECollection[$BSEindex - 1];
                             $blipType = $BSE->getBlipType();
  

  

以上是关于phpexcel一个bug的主要内容,如果未能解决你的问题,请参考以下文章

phpexcel一个bug

phpExcel 操作示例

vscode代码片段建议bug

PHP 精度计算引发的灾难性Bug

使用 AJAX 调用下载 PHPExcel 文件

小程序连续点击bug解决