diff --git a/src/Spout/Writer/Common/Helper/CellHelper.php b/src/Spout/Writer/Common/Helper/CellHelper.php index 50ead93..0bee960 100644 --- a/src/Spout/Writer/Common/Helper/CellHelper.php +++ b/src/Spout/Writer/Common/Helper/CellHelper.php @@ -64,6 +64,17 @@ class CellHelper return (gettype($value) === 'string' && $value !== ''); } + /** + * Returns whether the given value looks like a formula + * + * @param $value + * @return bool whether the given value looks like a formula + */ + public static function isFormulaString($value) + { + return (strpos($value,'=') === 0); + } + /** * Returns whether the given value is numeric. * A numeric value is from type "integer" or "double" ("float" is not returned by gettype). diff --git a/src/Spout/Writer/XLSX/Internal/Worksheet.php b/src/Spout/Writer/XLSX/Internal/Worksheet.php index 0bd909d..c636c7c 100644 --- a/src/Spout/Writer/XLSX/Internal/Worksheet.php +++ b/src/Spout/Writer/XLSX/Internal/Worksheet.php @@ -212,8 +212,10 @@ EOD; $columnIndex = CellHelper::getCellIndexFromColumnIndex($cellNumber); $cellXML = '0'; // seriously, that's it. + } else if (CellHelper::isNonEmptyString($cellValue)) { $cellXML .= $this->getCellXMLFragmentForNonEmptyString($cellValue); } else if (CellHelper::isBoolean($cellValue)) { $cellXML .= ' t="b">' . intval($cellValue) . '';