Update array formula ranges when inserting/deleting rows/columns

This commit is contained in:
MarkBaker
2022-02-02 15:00:16 +01:00
parent 1fa690c8d6
commit beb1e8f6fa
+6
View File
@@ -424,6 +424,12 @@ class ReferenceHelper
// Formula should be adjusted
$worksheet->getCell($newCoordinate)
->setValue($this->updateFormulaReferences($cell->getValue(), $beforeCellAddress, $numberOfColumns, $numberOfRows, $worksheet->getTitle()));
if ($cell->arrayFormulaRange() !== null) {
$newArrayFormulaRange = $this->updateFormulaReferences(
$cell->arrayFormulaRange(), $beforeCellAddress, $numberOfColumns, $numberOfRows, $worksheet->getTitle()
);
$worksheet->getCell($newCoordinate)->setFormulaAttributes(['t' => 'array', 'ref' => $newArrayFormulaRange]);
}
} else {
// Formula should not be adjusted
$worksheet->getCell($newCoordinate)->setValueExplicit($cell->getValue(), $cell->getDataType());