diff --git a/src/PhpSpreadsheet/Reader/Ods.php b/src/PhpSpreadsheet/Reader/Ods.php index 77e073995..5a98eb906 100644 --- a/src/PhpSpreadsheet/Reader/Ods.php +++ b/src/PhpSpreadsheet/Reader/Ods.php @@ -617,7 +617,7 @@ class Ods extends BaseReader if ($cellDataType === 'array') { $cell->setFormulaAttributes(['t' => 'array', 'ref' => $cellDataRef]); } - } else { + } elseif ($type !== '' || $dataValue !== null) { $cell->setValueExplicit($dataValue, $type); } diff --git a/tests/PhpSpreadsheetTests/Reader/Ods/Issue4435Test.php b/tests/PhpSpreadsheetTests/Reader/Ods/Issue4435Test.php new file mode 100644 index 000000000..a7445c17e --- /dev/null +++ b/tests/PhpSpreadsheetTests/Reader/Ods/Issue4435Test.php @@ -0,0 +1,31 @@ +file . '#content.xml'; + $contents = (string) file_get_contents($zipFile); + self::assertStringContainsString( + '' . "\n" + . '' . "\n" + . '', + $contents + ); + $reader = new OdsReader(); + $spreadsheet = $reader->load($this->file); + $sheet = $spreadsheet->getActiveSheet(); + self::assertNull($sheet->getCell('B1')->getValue()); + $spreadsheet->disconnectWorksheets(); + } +} diff --git a/tests/data/Reader/Ods/issue.4435b.ods b/tests/data/Reader/Ods/issue.4435b.ods new file mode 100644 index 000000000..f9cde7b6e Binary files /dev/null and b/tests/data/Reader/Ods/issue.4435b.ods differ