尝试访问 int 类型值的数组偏移量 { DefaultValueBinder. }

我有一个导出到 Excel 按钮,可以下载 Excel 文件。但是,当我单击时,它显示错误为尝试访问 int 类型值的数组偏移量


我的代码是这样的:


public static function dataTypeForValue($pValue = null)

    {

        // Match the value against a few data types

        if ($pValue === null) {

            return PHPExcel_Cell_DataType::TYPE_NULL;

        } elseif ($pValue === '') {

            return PHPExcel_Cell_DataType::TYPE_STRING;

        } elseif ($pValue instanceof PHPExcel_RichText) {

            return PHPExcel_Cell_DataType::TYPE_INLINE;

  } elseif ($pValue[0] === '=' && strlen($pValue) > 1) {   //error comes in this line

            return PHPExcel_Cell_DataType::TYPE_FORMULA;

        } elseif (is_bool($pValue)) {

            return PHPExcel_Cell_DataType::TYPE_BOOL;

        } elseif (is_float($pValue) || is_int($pValue)) {

            return PHPExcel_Cell_DataType::TYPE_NUMERIC;

        } elseif (preg_match('/^[\+\-]?([0-9]+\\.?[0-9]*|[0-9]*\\.?[0-9]+)([Ee][\-\+]?[0-2]?\d{1,3})?$/', $pValue)) {

            $tValue = ltrim($pValue, '+-');

            if (is_string($pValue) && $tValue[0] === '0' && strlen($tValue) > 1 && $tValue[1] !== '.') {

                return PHPExcel_Cell_DataType::TYPE_STRING;

            } elseif ((strpos($pValue, '.') === false) && ($pValue > PHP_INT_MAX)) {

                return PHPExcel_Cell_DataType::TYPE_STRING;

            }

            return PHPExcel_Cell_DataType::TYPE_NUMERIC;

        } elseif (is_string($pValue) && array_key_exists($pValue, PHPExcel_Cell_DataType::getErrorCodes())) {

            return PHPExcel_Cell_DataType::TYPE_ERROR;

        }


        return PHPExcel_Cell_DataType::TYPE_STRING;

    }

}

这个问题的解决方案是什么..?


慕桂英546537
浏览 230回答 3
3回答

弑天下

在 PHPExcel 文件“DefaultValueBinder.php”中,替换以下第 82 行:} elseif ($pValue[0] === '=' && strlen($pValue) > 1) {具有以下内容:} elseif (0 === strpos($pValue, '=') && strlen($pValue) > 1) {

慕尼黑8549860

(!is_int($pValue) && $pValue[0] === '=' && strlen($pValue) > 1)应该管用。$pValue[0]不适用于整数,因此在继续之前请检查它是否是 int。

莫回无

我更新了库中的一些文件,它在 php 7.4 上对我来说工作得很好。
打开App,查看更多内容
随时随地看视频慕课网APP