PHPEXCEL插件,导入表格数据时PHP版本的问题。
浏览次数(14846+10),最后更新(2023-08-24 10:01:20)
PHPEXCEL插件,导入表格数据时PHP版本不能高于PHP5.6吗?在PHP7.0以上会语法出错,在PHP5.6下就正常。

原创文章,禁止转载复制,信呼OA官网保留一切知识产权。
-

1楼
官网、
(2023-08-24 10:02:49)
是啊,插件不支持高版本
-

2楼、
(2023-08-24 12:49:34)
暂时升级方法,请大家测试。
文件:incluePHPExcelCellDefaultValueBinder.php
行数: line86
改动:增加对$pValue的数组判断。
改后代码:
} elseif (is_array($pValue) && $pValue[0] === '=' && strlen($pValue) > 1) {
-------------------
文件:includePHPExcelReaderExcel5.php
行数: 搜索 recordData{
改动:PHP7.4 数组不支持花括号{},改为方括号[]
recordData{} --> recordData[]
-

3楼、
(2023-08-24 12:50:57)
文件:inclue\PHPExcel\CellDefaultValueBinder.php
文件:include\PHPExcel\ReaderExcel5.php
-

4楼、
(2025-08-02 12:52:10)
PHP 8 creation of dynamic property is deprecated
在 PHP 8 中,动态属性的创建已经被标记为弃用(deprecated)。这意味着虽然在 PHP 8 中仍然可以使用动态属性,但未来版本的 PHP 可能不再支持这一特性。动态属性允许你在运行时给对象添加新的属性,这在某些情况下非常方便,但也可能导致代码难以维护和理解。
为什么弃用?
弃用动态属性的主要原因是为了促进更好的类型安全和编码标准。PHP 团队希望鼓励开发者使用更明确和可控的属性定义方式,例如通过类属性(class properties)或通过魔术方法(如 __set 和 __get)来动态处理属性的访问和设置。
替代方案:
在类中预先定义所有需要的属性。这有助于提高代码的可读性和可维护性。
class PHPExcelReaderChajian extends Chajian{
public $A;
public $AT;
public Astr;//要提前声明
protected function initChajian()
{
$this->As
-

5楼、
(2025-08-02 13:39:24)
是我大意了。PHPEXCEL在PHP8下还有其它问题。我能力不足以解决。
评论回复(5)