code: public function removeCellXfByIndex($pIndex)
      {
          if ($pIndex > count($this->cellXfCollection) - 1) {
              throw new Exception('CellXf index is out of bounds.');
          }
  
          // first remove the cellXf
          array_splice($this->cellXfCollection, $pIndex, 1);
  
          // then update cellXf indexes for cells
          foreach ($this->workSheetCollection as $worksheet) {
              foreach ($worksheet->getCoordinates(false) as $coordinate) {
                  $cell = $worksheet->getCell($coordinate);
                  $xfIndex = $cell->getXfIndex();
                  if ($xfIndex > $pIndex) {
                      // decrease xf index by 1
                      $cell->setXfIndex($xfIndex - 1);
                  } elseif ($xfIndex == $pIndex) {
                      // set to default xf index 0
                      $cell->setXfIndex(0);
                  }
              }
          }
      }
docs: Remove cellXf by index. It is ensured that all cells get their xf index updated.
  
  @param int $pIndex Index to cellXf
  
  @throws Exception