You are here

private function PHPExcel_Reader_Excel5::_readLabel in Loft Data Grids 7.2

Same name and namespace in other branches
  1. 6.2 vendor/phpoffice/phpexcel/Classes/PHPExcel/Reader/Excel5.php \PHPExcel_Reader_Excel5::_readLabel()

* Read LABEL record * This record represents a cell that contains a string. In * BIFF8 it is usually replaced by the LABELSST record. * Excel still uses this record, if it copies unformatted * text cells to the clipboard. * * -- "OpenOffice.org's Documentation of the Microsoft * Excel File Format"

1 call to PHPExcel_Reader_Excel5::_readLabel()
PHPExcel_Reader_Excel5::load in vendor/phpoffice/phpexcel/Classes/PHPExcel/Reader/Excel5.php
* Loads PHPExcel from file * *

File

vendor/phpoffice/phpexcel/Classes/PHPExcel/Reader/Excel5.php, line 4094

Class

PHPExcel_Reader_Excel5
PHPExcel_Reader_Excel5

Code

private function _readLabel() {
  $length = self::_GetInt2d($this->_data, $this->_pos + 2);
  $recordData = $this
    ->_readRecordData($this->_data, $this->_pos + 4, $length);

  // move stream pointer to next record
  $this->_pos += 4 + $length;

  // offset: 0; size: 2; index to row
  $row = self::_GetInt2d($recordData, 0);

  // offset: 2; size: 2; index to column
  $column = self::_GetInt2d($recordData, 2);
  $columnString = PHPExcel_Cell::stringFromColumnIndex($column);

  // Read cell?
  if ($this
    ->getReadFilter() !== NULL && $this
    ->getReadFilter()
    ->readCell($columnString, $row + 1, $this->_phpSheet
    ->getTitle())) {

    // offset: 4; size: 2; XF index
    $xfIndex = self::_GetInt2d($recordData, 4);

    // add cell value
    // todo: what if string is very long? continue record
    if ($this->_version == self::XLS_BIFF8) {
      $string = self::_readUnicodeStringLong(substr($recordData, 6));
      $value = $string['value'];
    }
    else {
      $string = $this
        ->_readByteStringLong(substr($recordData, 6));
      $value = $string['value'];
    }
    $cell = $this->_phpSheet
      ->getCell($columnString . ($row + 1));
    $cell
      ->setValueExplicit($value, PHPExcel_Cell_DataType::TYPE_STRING);
    if (!$this->_readDataOnly) {

      // add cell style
      $cell
        ->setXfIndex($this->_mapCellXfIndex[$xfIndex]);
    }
  }
}