6fe653179f
All other Samples write to temporary directory. DefinedNames samples write to main directory, which (a) means they aren't stored with others, and (b) they aren't ignored by git so look like changed files. The tests are also simplified by requiring Header rather than Bootstrap, making use of Helper.
38 lines
1.2 KiB
PHP
38 lines
1.2 KiB
PHP
<?php
|
|
|
|
use PhpOffice\PhpSpreadsheet\NamedRange;
|
|
use PhpOffice\PhpSpreadsheet\Spreadsheet;
|
|
|
|
require_once __DIR__ . '/../Header.php';
|
|
|
|
$spreadsheet = new Spreadsheet();
|
|
$worksheet = $spreadsheet->setActiveSheetIndex(0);
|
|
|
|
// Set up some basic data
|
|
$worksheet
|
|
->setCellValue('A1', 'Tax Rate:')
|
|
->setCellValue('B1', '=19%')
|
|
->setCellValue('A3', 'Net Price:')
|
|
->setCellValue('B3', 12.99)
|
|
->setCellValue('A4', 'Tax:')
|
|
->setCellValue('A5', 'Price including Tax:');
|
|
|
|
// Define named ranges
|
|
$spreadsheet->addNamedRange(new NamedRange('TAX_RATE', $worksheet, '=$B$1'));
|
|
$spreadsheet->addNamedRange(new NamedRange('PRICE', $worksheet, '=$B$3'));
|
|
|
|
// Reference that defined name in a formula
|
|
$worksheet
|
|
->setCellValue('B4', '=PRICE*TAX_RATE')
|
|
->setCellValue('B5', '=PRICE*(1+TAX_RATE)');
|
|
|
|
$helper->log(sprintf(
|
|
'With a Tax Rate of %.2f and a net price of %.2f, Tax is %.2f and the gross price is %.2f',
|
|
$worksheet->getCell('B1')->getCalculatedValue(),
|
|
$worksheet->getCell('B3')->getValue(),
|
|
$worksheet->getCell('B4')->getCalculatedValue(),
|
|
$worksheet->getCell('B5')->getCalculatedValue()
|
|
));
|
|
|
|
$helper->write($spreadsheet, __FILE__, ['Xlsx']);
|