From 2250a0e53b88cbdd667fc93fc33dfc95766d09e7 Mon Sep 17 00:00:00 2001 From: oleibman <10341515+oleibman@users.noreply.github.com> Date: Tue, 18 Feb 2025 01:57:53 -0800 Subject: [PATCH] Yet Another Test --- .../Reader/Xlsx/ApostropheTest.php | 61 +++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 tests/PhpSpreadsheetTests/Reader/Xlsx/ApostropheTest.php diff --git a/tests/PhpSpreadsheetTests/Reader/Xlsx/ApostropheTest.php b/tests/PhpSpreadsheetTests/Reader/Xlsx/ApostropheTest.php new file mode 100644 index 000000000..3b759f8c6 --- /dev/null +++ b/tests/PhpSpreadsheetTests/Reader/Xlsx/ApostropheTest.php @@ -0,0 +1,61 @@ +setInstanceArrayReturnType( + Calculation::RETURN_ARRAY_AS_ARRAY + ); + $sheet = $spreadsheet->getActiveSheet(); + $sheet->getCell('A1')->setValue(1); + $sheet->getCell('A2')->setValue(2); + $sheet->getCell('A3')->setValue(3); + $sheet->getCell('A4')->setValue(4); + $spreadsheet->addNamedRange(new NamedRange('sheet14cells', $sheet, '$A$1:$A$4')); + $sheet->getCell('C1') + ->setValue('=sheet14cells*sheet14cells'); + $sheet->getCell('E1')->setValue('=ANCHORARRAY(C1)'); + $sheet->getCell('G1')->setValue('=SINGLE(C1)'); + + $sheet1 = $spreadsheet->createSheet(); + $sheet1->setTitle("Apo'strophe"); + $sheet1->getCell('A1')->setValue(2); + $sheet1->getCell('A2')->setValue(3); + $sheet1->getCell('A3')->setValue(4); + $sheet1->getCell('A4')->setValue(5); + $spreadsheet->addNamedRange(new NamedRange('sheet24cells', $sheet1, '$A$1:$A$4')); + $sheet1->getCell('C1') + ->setValue('=sheet24cells*sheet24cells'); + $sheet1->getCell('E1')->setValue('=ANCHORARRAY(C1)'); + $sheet1->getCell('G1')->setValue('=SINGLE(C1)'); + + $reloadedSpreadsheet = $this->writeAndReload($spreadsheet, 'Xlsx'); + $spreadsheet->disconnectWorksheets(); + Calculation::getInstance($reloadedSpreadsheet) + ->setInstanceArrayReturnType( + Calculation::RETURN_ARRAY_AS_ARRAY + ); + $rsheet = $reloadedSpreadsheet->getSheet(0); + self::assertSame([[1], [4], [9], [16]], $rsheet->getCell('C1')->getCalculatedValue()); + self::assertSame([[1], [4], [9], [16]], $rsheet->getCell('E1')->getCalculatedValue()); + self::assertSame(1, $rsheet->getCell('G1')->getCalculatedValue()); + + $rsheet1 = $reloadedSpreadsheet->getSheet(1); + self::assertSame([[4], [9], [16], [25]], $rsheet1->getCell('C1')->getCalculatedValue()); + self::assertSame([[4], [9], [16], [25]], $rsheet1->getCell('E1')->getCalculatedValue()); + self::assertSame(4, $rsheet1->getCell('G1')->getCalculatedValue()); + $reloadedSpreadsheet->disconnectWorksheets(); + } +}