diff --git a/src/PhpSpreadsheet/Reader/Xls.php b/src/PhpSpreadsheet/Reader/Xls.php index 6b4be6d90..4b4a8e484 100644 --- a/src/PhpSpreadsheet/Reader/Xls.php +++ b/src/PhpSpreadsheet/Reader/Xls.php @@ -2116,7 +2116,9 @@ class Xls extends BaseReader // check the OpenOffice documentation of the FONT record $fontIndex = self::getUInt2d($recordData, 0) - 1; } - $objStyle->setFont($this->objFonts[$fontIndex]); + if (isset($this->objFonts[$fontIndex])) { + $objStyle->setFont($this->objFonts[$fontIndex]); + } // offset: 2; size: 2; Index to FORMAT record $numberFormatIndex = self::getUInt2d($recordData, 2); diff --git a/tests/PhpSpreadsheetTests/Reader/Xls/XlsBugPr3734Test.php b/tests/PhpSpreadsheetTests/Reader/Xls/XlsBugPr3734Test.php new file mode 100644 index 000000000..85bfbfb76 --- /dev/null +++ b/tests/PhpSpreadsheetTests/Reader/Xls/XlsBugPr3734Test.php @@ -0,0 +1,23 @@ +getActiveSheet(); + self::assertSame('Calibri', $sheet->getStyle('A1')->getFont()->getName()); + $spreadsheet->disconnectWorksheets(); + } +} diff --git a/tests/data/Reader/XLS/bug-pr-3734.xls b/tests/data/Reader/XLS/bug-pr-3734.xls new file mode 100644 index 000000000..8fa0e56a3 Binary files /dev/null and b/tests/data/Reader/XLS/bug-pr-3734.xls differ