Files
PhpSpreadsheet/tests/PhpSpreadsheetTests/Worksheet/ToArrayOldCalculatedValueTest.php
T
oleibman 7aef8b24cc Option To Use OldCalculatedValue in ToArray and its Relatives
Fix #1810, just before it turns 6 years old. Reporter thinks it can save time. Easy to implement, especially with the advent of named parameters which were not available when issue was opened.
2026-01-23 14:56:16 -08:00

29 lines
1.1 KiB
PHP

<?php
declare(strict_types=1);
namespace PhpOffice\PhpSpreadsheetTests\Worksheet;
use PhpOffice\PhpSpreadsheet\Spreadsheet;
use PhpOffice\PhpSpreadsheetTests\Functional\AbstractFunctional;
class ToArrayOldCalculatedValueTest extends AbstractFunctional
{
public function testOldCalculatedValue(): void
{
$spreadsheet = new Spreadsheet();
$sheet = $spreadsheet->getActiveSheet();
$sheet->fromArray([['A', 'B', 'C', '=1+2']]);
$reloadedSpreadsheet = $this->writeAndReload($spreadsheet, 'Xlsx');
$spreadsheet->disconnectWorksheets();
$rsheet = $reloadedSpreadsheet->getActiveSheet();
$rsheet->setCellValue('D1', '=1+3');
$array1 = $rsheet->toArray(formatData: false, calculateFormulas: false, oldCalculatedValue: true);
self::assertSame([['A', 'B', 'C', 3]], $array1, 'uses value as read from spreadsheet');
$array2 = $rsheet->toArray(formatData: false);
self::assertSame([['A', 'B', 'C', 4]], $array2, 'uses newly calculated value');
$reloadedSpreadsheet->disconnectWorksheets();
}
}