Minor Tweaks

This commit is contained in:
oleibman
2025-07-11 17:13:53 -07:00
parent ace1755238
commit 159059595e
2 changed files with 7 additions and 5 deletions
+2 -1
View File
@@ -15,6 +15,7 @@ If you have a spreadsheet that has been altered in this way, it can be fixed wit
```php
foreach ($spreadsheet->getCellXfCollection() as $style) {
$numberFormat = $style->getNumberFormat();
// okay to use NumberFormat::SHORT_DATE_INDEX below
if ($numberFormat->getBuiltInFormatCode() === 14) {
$numberFormat->setFormatCode('yyyy-mm-dd');
}
@@ -23,7 +24,7 @@ If you have a spreadsheet that has been altered in this way, it can be fixed wit
Starting with PhpSpreadsheet 4.5.0, this can be simplified to:
```php
$spreadsheet->replaceBuiltinNumberFormat(
14,
\PhpOffice\PhpSpreadsheet\Style\NumberFormat::SHORT_DATE_INDEX,
'yyyy-mm-dd'
);
```
@@ -5,6 +5,7 @@ declare(strict_types=1);
namespace PhpOffice\PhpSpreadsheetTests\Reader\Xlsx;
use PhpOffice\PhpSpreadsheet\Spreadsheet;
use PhpOffice\PhpSpreadsheet\Style\NumberFormat;
use PhpOffice\PhpSpreadsheetTests\Functional\AbstractFunctional;
class ReplaceBuiltinNumberFormatTest extends AbstractFunctional
@@ -25,17 +26,17 @@ class ReplaceBuiltinNumberFormatTest extends AbstractFunctional
}
}
public function testJustifyLastLine(): void
public function testReplaceBuiltinNumberFormat(): void
{
$spreadsheet = $this->spreadsheet = new Spreadsheet();
$sheet = $this->spreadsheet->getActiveSheet();
$sheet->fromArray([45486, 1023, 45487, 45488, 45489]);
$sheet->getStyle('A1')->getNumberFormat()
->setBuiltInFormatCode(14);
->setBuiltInFormatCode(NumberFormat::SHORT_DATE_INDEX);
$sheet->getStyle('B1')->getNumberFormat()
->setFormatCode('#,##0.00');
$sheet->getStyle('C1')->getNumberFormat()
->setBuiltInFormatCode(14);
->setBuiltInFormatCode(NumberFormat::SHORT_DATE_INDEX);
$sheet->getStyle('D1')->getNumberFormat()
->setFormatCode('dd-MMM-yyyy');
$sheet->getStyle('E1')->getNumberFormat()
@@ -51,7 +52,7 @@ class ReplaceBuiltinNumberFormatTest extends AbstractFunctional
self::assertSame($expected, $values);
$this->reloadedSpreadsheet = $this->writeAndReload($spreadsheet, 'Xlsx');
$this->reloadedSpreadsheet->replaceBuiltinNumberFormat(
14,
NumberFormat::SHORT_DATE_INDEX,
'yyyy-mm-dd'
);
$rsheet = $this->reloadedSpreadsheet->getActiveSheet();