信呼
为企业构建一个基于互联网的企业管理平台, 对企业中沟通与互动,协作与管理的全方位整合,并且免费开源系统,二次开发更快捷,即时推送审批,掌上APP手机办公。
联系我们
  [提问问题]
有事直接问,不要问在不在
微信联系我们 
[授权]  [演示]  在线客服
当前位置:首页 > 信息内容 > PHPEXCEL插件,导入表格数据时PHP版本的问题。
PHPEXCEL插件,导入表格数据时PHP版本的问题。
浏览次数(14847+11),最后更新(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)
 
关注我们公众号
Copyright ©2016-2025 信呼办公OA系统 版权所有   闽ICP备18008179号-2   ↑回到顶部