24 lines
1.3 KiB
Diff
24 lines
1.3 KiB
Diff
--- a/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Cell/DefaultValueBinder.php
|
|
+++ b/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Cell/DefaultValueBinder.php
|
|
@@ -51,16 +51,16 @@ class DefaultValueBinder implements IValueBinder
|
|
// Match the value against a few data types
|
|
if ($pValue === null) {
|
|
return DataType::TYPE_NULL;
|
|
+ } elseif (is_float($pValue) || is_int($pValue)) {
|
|
+ return DataType::TYPE_NUMERIC;
|
|
+ } elseif (is_bool($pValue)) {
|
|
+ return DataType::TYPE_BOOL;
|
|
} elseif ($pValue === '') {
|
|
return DataType::TYPE_STRING;
|
|
} elseif ($pValue instanceof RichText) {
|
|
return DataType::TYPE_INLINE;
|
|
- } elseif ($pValue[0] === '=' && strlen($pValue) > 1) {
|
|
+ } elseif (is_string($pValue) && $pValue[0] === '=' && strlen($pValue) > 1) {
|
|
return DataType::TYPE_FORMULA;
|
|
- } elseif (is_bool($pValue)) {
|
|
- return DataType::TYPE_BOOL;
|
|
- } elseif (is_float($pValue) || is_int($pValue)) {
|
|
- return DataType::TYPE_NUMERIC;
|
|
} elseif (preg_match('/^[\+\-]?(\d+\\.?\d*|\d*\\.?\d+)([Ee][\-\+]?[0-2]?\d{1,3})?$/', $pValue)) {
|
|
$tValue = ltrim($pValue, '+-');
|
|
if (is_string($pValue) && $tValue[0] === '0' && strlen($tValue) > 1 && $tValue[1] !== '.') {
|