@@ 756-778 (lines=23) @@ | ||
753 | $ext_ref = preg_replace("/'$/", '', $ext_ref); // Remove trailing ' if any. |
|
754 | ||
755 | // Check if there is a sheet range eg., Sheet1:Sheet2. |
|
756 | if (preg_match('/:/', $ext_ref)) { |
|
757 | list($sheet_name1, $sheet_name2) = explode(':', $ext_ref); |
|
758 | ||
759 | $sheet1 = $this->getSheetIndex($sheet_name1); |
|
760 | if ($sheet1 == -1) { |
|
761 | throw new \PhpSpreadsheet\Writer\Exception("Unknown sheet name $sheet_name1 in formula"); |
|
762 | } |
|
763 | $sheet2 = $this->getSheetIndex($sheet_name2); |
|
764 | if ($sheet2 == -1) { |
|
765 | throw new \PhpSpreadsheet\Writer\Exception("Unknown sheet name $sheet_name2 in formula"); |
|
766 | } |
|
767 | ||
768 | // Reverse max and min sheet numbers if necessary |
|
769 | if ($sheet1 > $sheet2) { |
|
770 | list($sheet1, $sheet2) = [$sheet2, $sheet1]; |
|
771 | } |
|
772 | } else { // Single sheet name only. |
|
773 | $sheet1 = $this->getSheetIndex($ext_ref); |
|
774 | if ($sheet1 == -1) { |
|
775 | throw new \PhpSpreadsheet\Writer\Exception("Unknown sheet name $ext_ref in formula"); |
|
776 | } |
|
777 | $sheet2 = $sheet1; |
|
778 | } |
|
779 | ||
780 | // References are stored relative to 0xFFFF. |
|
781 | $offset = -1 - $sheet1; |
|
@@ 801-823 (lines=23) @@ | ||
798 | $ext_ref = str_replace('\'\'', '\'', $ext_ref); // Replace escaped '' with ' |
|
799 | ||
800 | // Check if there is a sheet range eg., Sheet1:Sheet2. |
|
801 | if (preg_match('/:/', $ext_ref)) { |
|
802 | list($sheet_name1, $sheet_name2) = explode(':', $ext_ref); |
|
803 | ||
804 | $sheet1 = $this->getSheetIndex($sheet_name1); |
|
805 | if ($sheet1 == -1) { |
|
806 | throw new \PhpSpreadsheet\Writer\Exception("Unknown sheet name $sheet_name1 in formula"); |
|
807 | } |
|
808 | $sheet2 = $this->getSheetIndex($sheet_name2); |
|
809 | if ($sheet2 == -1) { |
|
810 | throw new \PhpSpreadsheet\Writer\Exception("Unknown sheet name $sheet_name2 in formula"); |
|
811 | } |
|
812 | ||
813 | // Reverse max and min sheet numbers if necessary |
|
814 | if ($sheet1 > $sheet2) { |
|
815 | list($sheet1, $sheet2) = [$sheet2, $sheet1]; |
|
816 | } |
|
817 | } else { // Single sheet name only. |
|
818 | $sheet1 = $this->getSheetIndex($ext_ref); |
|
819 | if ($sheet1 == -1) { |
|
820 | throw new \PhpSpreadsheet\Writer\Exception("Unknown sheet name $ext_ref in formula"); |
|
821 | } |
|
822 | $sheet2 = $sheet1; |
|
823 | } |
|
824 | ||
825 | // assume all references belong to this document |
|
826 | $supbook_index = 0x00; |