@@ -4408,7 +4408,9 @@ private function internalParseFormula(string $formula, ?Cell $cell = null): bool
4408
4408
if ($ rangeWS1 !== '' ) {
4409
4409
$ rangeWS1 .= '! ' ;
4410
4410
}
4411
- $ rangeSheetRef = trim ($ rangeSheetRef , "' " );
4411
+ if (str_starts_with ($ rangeSheetRef , "' " )) {
4412
+ $ rangeSheetRef = Worksheet::unApostrophizeTitle ($ rangeSheetRef );
4413
+ }
4412
4414
[$ rangeWS2 , $ val ] = Worksheet::extractSheetTitle ($ val , true );
4413
4415
if ($ rangeWS2 !== '' ) {
4414
4416
$ rangeWS2 .= '! ' ;
@@ -4766,18 +4768,18 @@ private function processTokenStack(mixed $tokens, ?string $cellID = null, ?Cell
4766
4768
}
4767
4769
}
4768
4770
if (str_contains ($ operand1Data ['reference ' ] ?? '' , '! ' )) {
4769
- [$ sheet1 , $ operand1Data ['reference ' ]] = Worksheet::extractSheetTitle ($ operand1Data ['reference ' ], true );
4771
+ [$ sheet1 , $ operand1Data ['reference ' ]] = Worksheet::extractSheetTitle ($ operand1Data ['reference ' ], true , true );
4770
4772
} else {
4771
4773
$ sheet1 = ($ pCellWorksheet !== null ) ? $ pCellWorksheet ->getTitle () : '' ;
4772
4774
}
4773
4775
$ sheet1 ??= '' ;
4774
4776
4775
- [$ sheet2 , $ operand2Data ['reference ' ]] = Worksheet::extractSheetTitle ($ operand2Data ['reference ' ], true );
4777
+ [$ sheet2 , $ operand2Data ['reference ' ]] = Worksheet::extractSheetTitle ($ operand2Data ['reference ' ], true , true );
4776
4778
if (empty ($ sheet2 )) {
4777
4779
$ sheet2 = $ sheet1 ;
4778
4780
}
4779
4781
4780
- if (trim ( $ sheet1, " ' " ) === trim ( $ sheet2, " ' " ) ) {
4782
+ if ($ sheet1 === $ sheet2 ) {
4781
4783
if ($ operand1Data ['reference ' ] === null && $ cell !== null ) {
4782
4784
if (is_array ($ operand1Data ['value ' ])) {
4783
4785
$ operand1Data ['reference ' ] = $ cell ->getCoordinate ();
@@ -5495,7 +5497,7 @@ public function extractCellRange(string &$range = 'A1', ?Worksheet $worksheet =
5495
5497
$ worksheetName = $ worksheet ->getTitle ();
5496
5498
5497
5499
if (str_contains ($ range , '! ' )) {
5498
- [$ worksheetName , $ range ] = Worksheet::extractSheetTitle ($ range , true );
5500
+ [$ worksheetName , $ range ] = Worksheet::extractSheetTitle ($ range , true , true );
5499
5501
$ worksheet = ($ this ->spreadsheet === null ) ? null : $ this ->spreadsheet ->getSheetByName ($ worksheetName );
5500
5502
}
5501
5503
@@ -5557,7 +5559,7 @@ public function extractNamedRange(string &$range = 'A1', ?Worksheet $worksheet =
5557
5559
5558
5560
if ($ worksheet !== null ) {
5559
5561
if (str_contains ($ range , '! ' )) {
5560
- [$ worksheetName , $ range ] = Worksheet::extractSheetTitle ($ range , true );
5562
+ [$ worksheetName , $ range ] = Worksheet::extractSheetTitle ($ range , true , true );
5561
5563
$ worksheet = ($ this ->spreadsheet === null ) ? null : $ this ->spreadsheet ->getSheetByName ($ worksheetName );
5562
5564
}
5563
5565
0 commit comments