diff --git a/CHANGELOG.md b/CHANGELOG.md index 19995524..b9efbc36 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -25,6 +25,8 @@ and this project adheres to [Semantic Versioning](https://semver.org). ### Fixed +- Fixed behaviour of XLSX font style vertical align settings + ## 1.22.0 - 2022-02-18 ### Added diff --git a/src/PhpSpreadsheet/Reader/Xlsx/Styles.php b/src/PhpSpreadsheet/Reader/Xlsx/Styles.php index 65dac529..b4c718d5 100644 --- a/src/PhpSpreadsheet/Reader/Xlsx/Styles.php +++ b/src/PhpSpreadsheet/Reader/Xlsx/Styles.php @@ -119,7 +119,7 @@ class Styles extends BaseParserClass } if (isset($fontStyleXml->vertAlign)) { $attr = $this->getStyleAttributes($fontStyleXml->vertAlign); - if (!isset($attr['val'])) { + if (isset($attr['val'])) { $verticalAlign = strtolower((string) $attr['val']); if ($verticalAlign === 'superscript') { $fontStyle->setSuperscript(true); diff --git a/tests/PhpSpreadsheetTests/Reader/Xlsx/VerticalAlignTest.php b/tests/PhpSpreadsheetTests/Reader/Xlsx/VerticalAlignTest.php new file mode 100644 index 00000000..0d3c0467 --- /dev/null +++ b/tests/PhpSpreadsheetTests/Reader/Xlsx/VerticalAlignTest.php @@ -0,0 +1,25 @@ +load($filename)->getActiveSheet(); + + self::assertTrue($sheet->getCell('A1')->getStyle()->getFont()->getSuperscript()); + self::assertFalse($sheet->getCell('A1')->getStyle()->getFont()->getSubscript()); + + self::assertTrue($sheet->getCell('B1')->getStyle()->getFont()->getSubscript()); + self::assertFalse($sheet->getCell('B1')->getStyle()->getFont()->getSuperscript()); + + self::assertFalse($sheet->getCell('C1')->getStyle()->getFont()->getSubscript()); + self::assertFalse($sheet->getCell('C1')->getStyle()->getFont()->getSuperscript()); + } +} diff --git a/tests/data/Reader/XLSX/verticalAlignTest.xlsx b/tests/data/Reader/XLSX/verticalAlignTest.xlsx new file mode 100644 index 00000000..836d6653 Binary files /dev/null and b/tests/data/Reader/XLSX/verticalAlignTest.xlsx differ