Merge pull request #2080 from oleibman/sample19b
Two Problems with Sample19
This commit is contained in:
commit
d0570bc766
|
|
@ -31,8 +31,8 @@ $spreadsheet->getActiveSheet()->setCellValue('A1', 'Firstname:')
|
|||
|
||||
// Define named ranges
|
||||
$helper->log('Define named ranges');
|
||||
$spreadsheet->addNamedRange(new NamedRange('PersonName', $spreadsheet->getActiveSheet(), 'B1'));
|
||||
$spreadsheet->addNamedRange(new NamedRange('PersonLN', $spreadsheet->getActiveSheet(), 'B2'));
|
||||
$spreadsheet->addNamedRange(new NamedRange('PersonName', $spreadsheet->getActiveSheet(), '$B$1'));
|
||||
$spreadsheet->addNamedRange(new NamedRange('PersonLN', $spreadsheet->getActiveSheet(), '$B$2'));
|
||||
|
||||
// Rename named ranges
|
||||
$helper->log('Rename named ranges');
|
||||
|
|
|
|||
|
|
@ -1149,10 +1149,6 @@ class Parser
|
|||
$this->advance();
|
||||
$result2 = $this->expression();
|
||||
$result = $this->createTree('ptgNE', $result, $result2);
|
||||
} elseif ($this->currentToken == '&') {
|
||||
$this->advance();
|
||||
$result2 = $this->expression();
|
||||
$result = $this->createTree('ptgConcat', $result, $result2);
|
||||
}
|
||||
|
||||
return $result;
|
||||
|
|
@ -1203,6 +1199,11 @@ class Parser
|
|||
return $this->createTree('ptgUplus', $result2, '');
|
||||
}
|
||||
$result = $this->term();
|
||||
while ($this->currentToken === '&') {
|
||||
$this->advance();
|
||||
$result2 = $this->expression();
|
||||
$result = $this->createTree('ptgConcat', $result, $result2);
|
||||
}
|
||||
while (
|
||||
($this->currentToken == '+') ||
|
||||
($this->currentToken == '-') ||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,28 @@
|
|||
<?php
|
||||
|
||||
namespace PhpOffice\PhpSpreadsheetTests\Writer\Xls;
|
||||
|
||||
use PhpOffice\PhpSpreadsheetTests\Functional\AbstractFunctional;
|
||||
|
||||
class Sample19Test extends AbstractFunctional
|
||||
{
|
||||
public function testSample19Xls(): void
|
||||
{
|
||||
$spreadsheet = new \PhpOffice\PhpSpreadsheet\Spreadsheet();
|
||||
$spreadsheet->setActiveSheetIndex(0);
|
||||
$spreadsheet->getActiveSheet()->setCellValue('A1', 'Firstname:')
|
||||
->setCellValue('A2', 'Lastname:')
|
||||
->setCellValue('A3', 'Fullname:')
|
||||
->setCellValue('B1', 'Maarten')
|
||||
->setCellValue('B2', 'Balliauw')
|
||||
->setCellValue('B3', '=B1 & " " & B2')
|
||||
->setCellValue('C1', '=A2&A3&A3&A2&B1');
|
||||
|
||||
$robj = $this->writeAndReload($spreadsheet, 'Xls');
|
||||
$sheet0 = $robj->setActiveSheetIndex(0);
|
||||
// Xls parser eliminates unneeded whitespace
|
||||
self::assertEquals('=B1&" "&B2', $sheet0->getCell('B3')->getValue());
|
||||
self::assertEquals('Maarten Balliauw', $sheet0->getCell('B3')->getCalculatedValue());
|
||||
self::assertEquals('Lastname:Fullname:Fullname:Lastname:Maarten', $sheet0->getCell('C1')->getCalculatedValue());
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue