From 100d14969dbab2524e8d7284951ee0972ae6167b Mon Sep 17 00:00:00 2001 From: oleibman <10341515+oleibman@users.noreply.github.com> Date: Mon, 24 Mar 2025 22:05:20 -0700 Subject: [PATCH] Fix Typo in Style exportArray quotePrefix Fix #4422. Add tests. --- src/PhpSpreadsheet/Style/Style.php | 2 +- .../Style/ExportArrayTest.php | 21 +++++++++++++++++++ 2 files changed, 22 insertions(+), 1 deletion(-) diff --git a/src/PhpSpreadsheet/Style/Style.php b/src/PhpSpreadsheet/Style/Style.php index 17d632e9b..7d36489af 100644 --- a/src/PhpSpreadsheet/Style/Style.php +++ b/src/PhpSpreadsheet/Style/Style.php @@ -698,7 +698,7 @@ class Style extends Supervisor $this->exportArray2($exportedArray, 'font', $this->getFont()); $this->exportArray2($exportedArray, 'numberFormat', $this->getNumberFormat()); $this->exportArray2($exportedArray, 'protection', $this->getProtection()); - $this->exportArray2($exportedArray, 'quotePrefx', $this->getQuotePrefix()); + $this->exportArray2($exportedArray, 'quotePrefix', $this->getQuotePrefix()); return $exportedArray; } diff --git a/tests/PhpSpreadsheetTests/Style/ExportArrayTest.php b/tests/PhpSpreadsheetTests/Style/ExportArrayTest.php index 5709d5c0a..7480a4d92 100644 --- a/tests/PhpSpreadsheetTests/Style/ExportArrayTest.php +++ b/tests/PhpSpreadsheetTests/Style/ExportArrayTest.php @@ -4,6 +4,7 @@ declare(strict_types=1); namespace PhpOffice\PhpSpreadsheetTests\Style; +use PhpOffice\PhpSpreadsheet\Cell\DataType; use PhpOffice\PhpSpreadsheet\Spreadsheet; use PhpOffice\PhpSpreadsheet\Style\Alignment; use PhpOffice\PhpSpreadsheet\Style\Border; @@ -287,4 +288,24 @@ class ExportArrayTest extends TestCase ); $spreadsheet->disconnectWorksheets(); } + + public function testQuotePrefix(): void + { + $spreadsheet = new Spreadsheet(); + $sheet = $spreadsheet->getActiveSheet(); + $sheet->getCell('A1') + ->setValueExplicit('=1+2', DataType::TYPE_STRING); + self::assertSame('=1+2', $sheet->getCell('A1')->getCalculatedValue()); + self::assertTrue($sheet->getStyle('A1')->getQuotePrefix()); + $sheet->getCell('A2')->setValue('=1+2'); + self::assertSame(3, $sheet->getCell('A2')->getCalculatedValue()); + self::assertFalse($sheet->getStyle('A2')->getQuotePrefix()); + $styleArray1 = $sheet->getStyle('A1')->exportArray(); + $styleArray2 = $sheet->getStyle('A2')->exportArray(); + $sheet->getStyle('B1')->applyFromArray($styleArray1); + $sheet->getStyle('B2')->applyFromArray($styleArray2); + self::assertTrue($sheet->getStyle('B1')->getQuotePrefix()); + self::assertFalse($sheet->getStyle('B2')->getQuotePrefix()); + $spreadsheet->disconnectWorksheets(); + } }