You are here

private function PHPExcel_Reader_Excel5::_readRk 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::_readRk()

* Read RK record * This record represents a cell that contains an RK value * (encoded integer or floating-point value). If a * floating-point value cannot be encoded to an RK value, * a NUMBER record will be written. This record replaces the * record INTEGER written in BIFF2. * * -- "OpenOffice.org's Documentation of the Microsoft * Excel File Format"

1 call to PHPExcel_Reader_Excel5::_readRk()
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 3571

Class

PHPExcel_Reader_Excel5
PHPExcel_Reader_Excel5

Code

private function _readRk() {
  $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; index to XF record
    $xfIndex = self::_GetInt2d($recordData, 4);

    // offset: 6; size: 4; RK value
    $rknum = self::_GetInt4d($recordData, 6);
    $numValue = self::_GetIEEE754($rknum);
    $cell = $this->_phpSheet
      ->getCell($columnString . ($row + 1));
    if (!$this->_readDataOnly) {

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

    // add cell
    $cell
      ->setValueExplicit($numValue, PHPExcel_Cell_DataType::TYPE_NUMERIC);
  }
}