HiddenMergeCellsTest.php 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. <?php
  2. namespace PhpOffice\PhpSpreadsheetTests\Reader\Xlsx;
  3. use PhpOffice\PhpSpreadsheet\Reader\Xlsx;
  4. use PhpOffice\PhpSpreadsheet\Spreadsheet;
  5. use PHPUnit\Framework\TestCase;
  6. class HiddenMergeCellsTest extends TestCase
  7. {
  8. /**
  9. * @var Spreadsheet
  10. */
  11. private $spreadsheet;
  12. protected function setup(): void
  13. {
  14. $filename = 'tests/data/Reader/XLSX/HiddenMergeCellsTest.xlsx';
  15. $reader = new Xlsx();
  16. $this->spreadsheet = $reader->load($filename);
  17. }
  18. public function testHiddenMergeCells(): void
  19. {
  20. $c2InMergeRange = $this->spreadsheet->getActiveSheet()->getCell('C2')->isInMergeRange();
  21. self::assertTrue($c2InMergeRange);
  22. $a2InMergeRange = $this->spreadsheet->getActiveSheet()->getCell('A2')->isInMergeRange();
  23. self::assertTrue($a2InMergeRange);
  24. $a2MergeRangeValue = $this->spreadsheet->getActiveSheet()->getCell('A2')->isMergeRangeValueCell();
  25. self::assertTrue($a2MergeRangeValue);
  26. $cellArray = $this->spreadsheet->getActiveSheet()->rangeToArray('A2:C2');
  27. self::assertSame([[12, 4, 3]], $cellArray);
  28. }
  29. public function testUnmergeHiddenMergeCells(): void
  30. {
  31. $this->spreadsheet->getActiveSheet()->unmergeCells('A2:C2');
  32. $c2InMergeRange = $this->spreadsheet->getActiveSheet()->getCell('C2')->isInMergeRange();
  33. self::assertFalse($c2InMergeRange);
  34. $a2InMergeRange = $this->spreadsheet->getActiveSheet()->getCell('A2')->isInMergeRange();
  35. self::assertFalse($a2InMergeRange);
  36. $cellArray = $this->spreadsheet->getActiveSheet()->rangeToArray('A2:C2', null, false, false, false);
  37. self::assertSame([[12, '=6-B1', '=A2/B2']], $cellArray);
  38. }
  39. }