我有一个导出到 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; }}这个问题的解决方案是什么..?
3 回答
弑天下
TA贡献1818条经验 获得超8个赞
在 PHPExcel 文件“DefaultValueBinder.php”中,替换以下第 82 行:
} elseif ($pValue[0] === '=' && strlen($pValue) > 1) {
具有以下内容:
} elseif (0 === strpos($pValue, '=') && strlen($pValue) > 1) {
慕尼黑8549860
TA贡献1818条经验 获得超11个赞
(!is_int($pValue) && $pValue[0] === '=' && strlen($pValue) > 1)
应该管用。$pValue[0]
不适用于整数,因此在继续之前请检查它是否是 int。
- 3 回答
- 0 关注
- 229 浏览
添加回答
举报
0/150
提交
取消