Merge pull request #2847 from PHPOffice/CellRange-Validation-Performance-Tweak
Minor performance tweaks
This commit is contained in:
commit
7fff764698
|
|
@ -42,10 +42,9 @@ class Validations
|
||||||
public static function validateCellOrCellRange($cellRange): string
|
public static function validateCellOrCellRange($cellRange): string
|
||||||
{
|
{
|
||||||
if (is_string($cellRange) || is_numeric($cellRange)) {
|
if (is_string($cellRange) || is_numeric($cellRange)) {
|
||||||
// Convert a single column reference like 'A' to 'A:A'
|
// Convert a single column reference like 'A' to 'A:A',
|
||||||
$cellRange = (string) preg_replace('/^([A-Z]+)$/', '${1}:${1}', (string) $cellRange);
|
// a single row reference like '1' to '1:1'
|
||||||
// Convert a single row reference like '1' to '1:1'
|
$cellRange = (string) preg_replace('/^([A-Z]+|\d+)$/', '${1}:${1}', (string) $cellRange);
|
||||||
$cellRange = (string) preg_replace('/^(\d+)$/', '${1}:${1}', $cellRange);
|
|
||||||
} elseif (is_object($cellRange) && $cellRange instanceof CellAddress) {
|
} elseif (is_object($cellRange) && $cellRange instanceof CellAddress) {
|
||||||
$cellRange = new CellRange($cellRange, $cellRange);
|
$cellRange = new CellRange($cellRange, $cellRange);
|
||||||
}
|
}
|
||||||
|
|
@ -66,9 +65,12 @@ class Validations
|
||||||
[$worksheet, $addressRange] = Worksheet::extractSheetTitle($cellRange, true);
|
[$worksheet, $addressRange] = Worksheet::extractSheetTitle($cellRange, true);
|
||||||
|
|
||||||
// Convert Column ranges like 'A:C' to 'A1:C1048576'
|
// Convert Column ranges like 'A:C' to 'A1:C1048576'
|
||||||
$addressRange = (string) preg_replace('/^([A-Z]+):([A-Z]+)$/', '${1}1:${2}1048576', $addressRange);
|
// or Row ranges like '1:3' to 'A1:XFD3'
|
||||||
// Convert Row ranges like '1:3' to 'A1:XFD3'
|
$addressRange = (string) preg_replace(
|
||||||
$addressRange = (string) preg_replace('/^(\\d+):(\\d+)$/', 'A${1}:XFD${2}', $addressRange);
|
['/^([A-Z]+):([A-Z]+)$/i', '/^(\\d+):(\\d+)$/'],
|
||||||
|
['${1}1:${2}1048576', 'A${1}:XFD${2}'],
|
||||||
|
$addressRange
|
||||||
|
);
|
||||||
|
|
||||||
return empty($worksheet) ? strtoupper($addressRange) : $worksheet . '!' . strtoupper($addressRange);
|
return empty($worksheet) ? strtoupper($addressRange) : $worksheet . '!' . strtoupper($addressRange);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue