diff --git a/src/Spout/Reader/Helper/XLSX/SharedStringsHelper.php b/src/Spout/Reader/Helper/XLSX/SharedStringsHelper.php index 89f0004..6a88d2d 100644 --- a/src/Spout/Reader/Helper/XLSX/SharedStringsHelper.php +++ b/src/Spout/Reader/Helper/XLSX/SharedStringsHelper.php @@ -257,7 +257,7 @@ class SharedStringsHelper $sharedString = $this->unescapeLineFeed($escapedSharedString); } - if (!$sharedString) { + if ($sharedString === null) { throw new SharedStringNotFoundException("Shared string not found for index: $sharedStringIndex"); } diff --git a/tests/Spout/Reader/XLSXTest.php b/tests/Spout/Reader/XLSXTest.php index 823490b..20e89d3 100644 --- a/tests/Spout/Reader/XLSXTest.php +++ b/tests/Spout/Reader/XLSXTest.php @@ -140,6 +140,19 @@ class XLSXTest extends \PHPUnit_Framework_TestCase $this->assertEquals($expectedRows, $allRows); } + /** + * @return void + */ + public function testReadShouldSupportEmptySharedString() + { + $allRows = $this->getAllRowsForFile('sheet_with_empty_shared_string.xlsx'); + + $expectedRows = [ + ['s1--A1', '', 's1--C1'], + ]; + $this->assertEquals($expectedRows, $allRows); + } + /** * @return void */ diff --git a/tests/resources/xlsx/sheet_with_empty_shared_string.xlsx b/tests/resources/xlsx/sheet_with_empty_shared_string.xlsx new file mode 100644 index 0000000..f44da69 Binary files /dev/null and b/tests/resources/xlsx/sheet_with_empty_shared_string.xlsx differ