You are here

private function PHPExcel_Writer_Excel2007_Workbook::_writeDefinedNameForNamedRange in Loft Data Grids 6.2

Same name and namespace in other branches
  1. 7.2 vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel2007/Workbook.php \PHPExcel_Writer_Excel2007_Workbook::_writeDefinedNameForNamedRange()

* Write Defined Name for named range * *

Parameters

PHPExcel_Shared_XMLWriter $objWriter XML Writer: * @param PHPExcel_NamedRange $pNamedRange * @throws PHPExcel_Writer_Exception

1 call to PHPExcel_Writer_Excel2007_Workbook::_writeDefinedNameForNamedRange()
PHPExcel_Writer_Excel2007_Workbook::_writeNamedRanges in vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel2007/Workbook.php
* Write named ranges * *

File

vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel2007/Workbook.php, line 319

Class

PHPExcel_Writer_Excel2007_Workbook
PHPExcel_Writer_Excel2007_Workbook

Code

private function _writeDefinedNameForNamedRange(PHPExcel_Shared_XMLWriter $objWriter = null, PHPExcel_NamedRange $pNamedRange) {

  // definedName for named range
  $objWriter
    ->startElement('definedName');
  $objWriter
    ->writeAttribute('name', $pNamedRange
    ->getName());
  if ($pNamedRange
    ->getLocalOnly()) {
    $objWriter
      ->writeAttribute('localSheetId', $pNamedRange
      ->getScope()
      ->getParent()
      ->getIndex($pNamedRange
      ->getScope()));
  }

  // Create absolute coordinate and write as raw text
  $range = PHPExcel_Cell::splitRange($pNamedRange
    ->getRange());
  for ($i = 0; $i < count($range); $i++) {
    $range[$i][0] = '\'' . str_replace("'", "''", $pNamedRange
      ->getWorksheet()
      ->getTitle()) . '\'!' . PHPExcel_Cell::absoluteReference($range[$i][0]);
    if (isset($range[$i][1])) {
      $range[$i][1] = PHPExcel_Cell::absoluteReference($range[$i][1]);
    }
  }
  $range = PHPExcel_Cell::buildRange($range);
  $objWriter
    ->writeRawData($range);
  $objWriter
    ->endElement();
}