diff --git a/src/Spout/Common/Helper/CellTypeHelper.php b/src/Spout/Common/Helper/CellTypeHelper.php index ab71a25..68ab0db 100644 --- a/src/Spout/Common/Helper/CellTypeHelper.php +++ b/src/Spout/Common/Helper/CellTypeHelper.php @@ -73,6 +73,6 @@ class CellTypeHelper */ public static function isFormula($value) { - return (strpos($value, '=') === 0); + return (is_array($value) || strpos($value, '=') === 0); } } diff --git a/src/Spout/Writer/XLSX/Manager/WorksheetManager.php b/src/Spout/Writer/XLSX/Manager/WorksheetManager.php index f60d873..341d46f 100644 --- a/src/Spout/Writer/XLSX/Manager/WorksheetManager.php +++ b/src/Spout/Writer/XLSX/Manager/WorksheetManager.php @@ -229,7 +229,11 @@ EOD; $cellXML .= ' s="' . $styleId . '"'; if ($cell->isFormula()) { - $cellXML .= ' >' . substr($cell->getValue(), 1) . ''; + if (is_array($cell->getValue())) { + $cellXML .= ' >' . substr($cell->getValue()[0], 1) . '' . $cell->getValue()[1] . ''; + } else { + $cellXML .= ' >' . substr($cell->getValue(), 1) . ''; + } } elseif ($cell->isString()) { $cellXML .= $this->getCellXMLFragmentForNonEmptyString($cell->getValue()); } elseif ($cell->isBoolean()) {