code: private function writeNumber($row, $col, $num, $xfIndex)
      {
          $record = 0x0203; // Record identifier
          $length = 0x000E; // Number of bytes to follow
  
          $header = pack('vv', $record, $length);
          $data = pack('vvv', $row, $col, $xfIndex);
          $xl_double = pack('d', $num);
          if (self::getByteOrder()) { // if it's Big Endian
              $xl_double = strrev($xl_double);
          }
  
          $this->append($header . $data . $xl_double);
  
          return 0;
      }
docs: Write a double to the specified row and column (zero indexed).
  An integer can be written as a double. Excel will display an
  integer. $format is optional.
  
  Returns  0 : normal termination
  -2 : row or column out of range
  
  @param int $row Zero indexed row
  @param int $col Zero indexed column
  @param float $num The number to write
  @param mixed $xfIndex The optional XF format
  
  @return int