You are here

public function PHPExcel_Worksheet::shrinkRangeToFit in Loft Data Grids 7.2

Same name and namespace in other branches
  1. 6.2 vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet.php \PHPExcel_Worksheet::shrinkRangeToFit()

Accepts a range, returning it as a range that falls within the current highest row and column of the worksheet

Parameters

string $range:

Return value

string Adjusted range value

File

vendor/phpoffice/phpexcel/Classes/PHPExcel/Worksheet.php, line 2785

Class

PHPExcel_Worksheet
PHPExcel_Worksheet

Code

public function shrinkRangeToFit($range) {
  $maxCol = $this
    ->getHighestColumn();
  $maxRow = $this
    ->getHighestRow();
  $maxCol = PHPExcel_Cell::columnIndexFromString($maxCol);
  $rangeBlocks = explode(' ', $range);
  foreach ($rangeBlocks as &$rangeSet) {
    $rangeBoundaries = PHPExcel_Cell::getRangeBoundaries($rangeSet);
    if (PHPExcel_Cell::columnIndexFromString($rangeBoundaries[0][0]) > $maxCol) {
      $rangeBoundaries[0][0] = PHPExcel_Cell::stringFromColumnIndex($maxCol);
    }
    if ($rangeBoundaries[0][1] > $maxRow) {
      $rangeBoundaries[0][1] = $maxRow;
    }
    if (PHPExcel_Cell::columnIndexFromString($rangeBoundaries[1][0]) > $maxCol) {
      $rangeBoundaries[1][0] = PHPExcel_Cell::stringFromColumnIndex($maxCol);
    }
    if ($rangeBoundaries[1][1] > $maxRow) {
      $rangeBoundaries[1][1] = $maxRow;
    }
    $rangeSet = $rangeBoundaries[0][0] . $rangeBoundaries[0][1] . ':' . $rangeBoundaries[1][0] . $rangeBoundaries[1][1];
  }
  unset($rangeSet);
  $stRange = implode(' ', $rangeBlocks);
  return $stRange;
}