You are here

protected function PHPExcel_ReferenceHelper::_adjustPageBreaks in Loft Data Grids 6.2

Same name and namespace in other branches
  1. 7.2 vendor/phpoffice/phpexcel/Classes/PHPExcel/ReferenceHelper.php \PHPExcel_ReferenceHelper::_adjustPageBreaks()

* Update page breaks when inserting/deleting rows/columns * *

Parameters

PHPExcel_Worksheet $pSheet The worksheet that we're editing: * @param string $pBefore Insert/Delete before this cell address (e.g. 'A1') * @param integer $beforeColumnIndex Index number of the column we're inserting/deleting before * @param integer $pNumCols Number of columns to insert/delete (negative values indicate deletion) * @param integer $beforeRow Number of the row we're inserting/deleting before * @param integer $pNumRows Number of rows to insert/delete (negative values indicate deletion)

1 call to PHPExcel_ReferenceHelper::_adjustPageBreaks()
PHPExcel_ReferenceHelper::insertNewBefore in vendor/phpoffice/phpexcel/Classes/PHPExcel/ReferenceHelper.php
* Insert a new column or row, updating all possible related data * *

File

vendor/phpoffice/phpexcel/Classes/PHPExcel/ReferenceHelper.php, line 167

Class

PHPExcel_ReferenceHelper
PHPExcel_ReferenceHelper (Singleton)

Code

protected function _adjustPageBreaks(PHPExcel_Worksheet $pSheet, $pBefore, $beforeColumnIndex, $pNumCols, $beforeRow, $pNumRows) {
  $aBreaks = $pSheet
    ->getBreaks();
  $pNumCols > 0 || $pNumRows > 0 ? uksort($aBreaks, array(
    'PHPExcel_ReferenceHelper',
    'cellReverseSort',
  )) : uksort($aBreaks, array(
    'PHPExcel_ReferenceHelper',
    'cellSort',
  ));
  foreach ($aBreaks as $key => $value) {
    if (self::cellAddressInDeleteRange($key, $beforeRow, $pNumRows, $beforeColumnIndex, $pNumCols)) {

      //	If we're deleting, then clear any defined breaks that are within the range
      //		of rows/columns that we're deleting
      $pSheet
        ->setBreak($key, PHPExcel_Worksheet::BREAK_NONE);
    }
    else {

      //	Otherwise update any affected breaks by inserting a new break at the appropriate point
      //		and removing the old affected break
      $newReference = $this
        ->updateCellReference($key, $pBefore, $pNumCols, $pNumRows);
      if ($key != $newReference) {
        $pSheet
          ->setBreak($newReference, $value)
          ->setBreak($key, PHPExcel_Worksheet::BREAK_NONE);
      }
    }
  }
}