You are here

public static function PHPExcel_Cell_DefaultValueBinder::dataTypeForValue in Loft Data Grids 7.2

Same name and namespace in other branches
  1. 6.2 vendor/phpoffice/phpexcel/Classes/PHPExcel/Cell/DefaultValueBinder.php \PHPExcel_Cell_DefaultValueBinder::dataTypeForValue()

DataType for value

Parameters

mixed $pValue:

Return value

string

3 calls to PHPExcel_Cell_DefaultValueBinder::dataTypeForValue()
PHPExcel_Cell_AdvancedValueBinder::bindValue in vendor/phpoffice/phpexcel/Classes/PHPExcel/Cell/AdvancedValueBinder.php
Bind value to a cell
PHPExcel_Cell_DataType::dataTypeForValue in vendor/phpoffice/phpexcel/Classes/PHPExcel/Cell/DataType.php
DataType for value
PHPExcel_Cell_DefaultValueBinder::bindValue in vendor/phpoffice/phpexcel/Classes/PHPExcel/Cell/DefaultValueBinder.php
Bind value to a cell

File

vendor/phpoffice/phpexcel/Classes/PHPExcel/Cell/DefaultValueBinder.php, line 82

Class

PHPExcel_Cell_DefaultValueBinder
PHPExcel_Cell_DefaultValueBinder

Code

public static function dataTypeForValue($pValue = null) {

  // Match the value against a few data types
  if ($pValue === null) {
    return PHPExcel_Cell_DataType::TYPE_NULL;
  }
  elseif ($pValue === '') {
    return PHPExcel_Cell_DataType::TYPE_STRING;
  }
  elseif ($pValue instanceof PHPExcel_RichText) {
    return PHPExcel_Cell_DataType::TYPE_INLINE;
  }
  elseif ($pValue[0] === '=' && strlen($pValue) > 1) {
    return PHPExcel_Cell_DataType::TYPE_FORMULA;
  }
  elseif (is_bool($pValue)) {
    return PHPExcel_Cell_DataType::TYPE_BOOL;
  }
  elseif (is_float($pValue) || is_int($pValue)) {
    return PHPExcel_Cell_DataType::TYPE_NUMERIC;
  }
  elseif (preg_match('/^[\\+\\-]?([0-9]+\\.?[0-9]*|[0-9]*\\.?[0-9]+)([Ee][\\-\\+]?[0-2]?\\d{1,3})?$/', $pValue)) {
    $tValue = ltrim($pValue, '+-');
    if (is_string($pValue) && $tValue[0] === '0' && strlen($tValue) > 1 && $tValue[1] !== '.') {
      return PHPExcel_Cell_DataType::TYPE_STRING;
    }
    elseif (strpos($pValue, '.') === false && $pValue > PHP_INT_MAX) {
      return PHPExcel_Cell_DataType::TYPE_STRING;
    }
    return PHPExcel_Cell_DataType::TYPE_NUMERIC;
  }
  elseif (is_string($pValue) && array_key_exists($pValue, PHPExcel_Cell_DataType::getErrorCodes())) {
    return PHPExcel_Cell_DataType::TYPE_ERROR;
  }
  return PHPExcel_Cell_DataType::TYPE_STRING;
}