1904 Calendar

This commit is contained in:
oleibman
2025-09-14 08:08:46 -07:00
parent 31d1cd7e17
commit abf357ea90
6 changed files with 64 additions and 1 deletions
@@ -21,6 +21,7 @@ class ChartBorderTest extends AbstractFunctional
public function writeCharts(XlsxWriter $writer): void
{
$writer->setIncludeCharts(true);
$writer->setUseDiskCaching(true, sys_get_temp_dir());
}
public function testChartBorder(): void
@@ -52,6 +52,7 @@ class Issue3126Test extends TestCase
$generation3Name = File::temporaryFilename();
$writer = new XlsxWriter($generation2);
$writer->setUseDiskCaching(true, sys_get_temp_dir());
$writer->save($generation3Name);
$generation2->disconnectWorksheets();
$reader3 = new XlsxReader();
@@ -12,10 +12,12 @@ class Issue1457Test extends TestCase
public function testIssue1457(): void
{
$sheet = new Worksheet();
$sheet->protectCells('C14:O15 C161:O1081 C16:H160 J16:O160 Q5');
$sqref = 'C14:O15 C161:O1081 C16:H160 J16:O160 Q5';
$sheet->protectCells($sqref);
$protectedRanges = $sheet->getProtectedCellRanges();
self::assertCount(1, $protectedRanges);
$range0 = reset($protectedRanges);
self::assertSame($sqref, $range0->getSqref());
$expected = [
['C14', 'O15'],
['C161', 'O1081'],
@@ -0,0 +1,29 @@
<?php
declare(strict_types=1);
namespace PhpOffice\PhpSpreadsheetTests\Writer\Xls;
use PhpOffice\PhpSpreadsheet\Shared\Date;
use PhpOffice\PhpSpreadsheet\Spreadsheet;
use PhpOffice\PhpSpreadsheetTests\Functional\AbstractFunctional;
class Calendar1904Test extends AbstractFunctional
{
public function testCalendar1904(): void
{
$spreadsheet = new Spreadsheet();
$spreadsheet->setExcelCalendar(Date::CALENDAR_MAC_1904);
$worksheet = $spreadsheet->getActiveSheet();
$worksheet->getCell('A1')->setValue('=DATE(1904,1,1)');
$worksheet->getStyle('A1')->getNumberFormat()
->setFormatCode('yyyy-mm-dd');
$reloadedSpreadsheet = $this->writeAndReload($spreadsheet, 'Xls');
$spreadsheet->disconnectWorksheets();
$rsheet = $reloadedSpreadsheet->getActiveSheet();
self::assertSame(0.0, $rsheet->getCell('A1')->getCalculatedValue());
self::assertSame('1904-01-01', $rsheet->getCell('A1')->getFormattedValue());
self::assertSame(Date::CALENDAR_MAC_1904, $reloadedSpreadsheet->getExcelCalendar());
$reloadedSpreadsheet->disconnectWorksheets();
}
}
@@ -0,0 +1,29 @@
<?php
declare(strict_types=1);
namespace PhpOffice\PhpSpreadsheetTests\Writer\Xlsx;
use PhpOffice\PhpSpreadsheet\Shared\Date;
use PhpOffice\PhpSpreadsheet\Spreadsheet;
use PhpOffice\PhpSpreadsheetTests\Functional\AbstractFunctional;
class Calendar1904Test extends AbstractFunctional
{
public function testCalendar1904(): void
{
$spreadsheet = new Spreadsheet();
$spreadsheet->setExcelCalendar(Date::CALENDAR_MAC_1904);
$worksheet = $spreadsheet->getActiveSheet();
$worksheet->getCell('A1')->setValue('=DATE(1904,1,1)');
$worksheet->getStyle('A1')->getNumberFormat()
->setFormatCode('yyyy-mm-dd');
$reloadedSpreadsheet = $this->writeAndReload($spreadsheet, 'Xlsx');
$spreadsheet->disconnectWorksheets();
$rsheet = $reloadedSpreadsheet->getActiveSheet();
self::assertSame(0.0, $rsheet->getCell('A1')->getCalculatedValue());
self::assertSame('1904-01-01', $rsheet->getCell('A1')->getFormattedValue());
self::assertSame(Date::CALENDAR_MAC_1904, $reloadedSpreadsheet->getExcelCalendar());
$reloadedSpreadsheet->disconnectWorksheets();
}
}
@@ -24,6 +24,7 @@ class UnparsedDataTest extends TestCase
$excel->getSheet(1)->setCellValue('B1', '222');
$writer = new \PhpOffice\PhpSpreadsheet\Writer\Xlsx($excel);
$writer->setUseDiskCaching(true, sys_get_temp_dir());
$writer->save($resultFilename);
self::assertFileExists($resultFilename);