class PHPExcel_Cell_DefaultValueBinder in Loft Data Grids 6.2
Same name and namespace in other branches
- 7.2 vendor/phpoffice/phpexcel/Classes/PHPExcel/Cell/DefaultValueBinder.php \PHPExcel_Cell_DefaultValueBinder
PHPExcel_Cell_DefaultValueBinder
@category PHPExcel @package PHPExcel_Cell @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel)
Hierarchy
- class \PHPExcel_Cell_DefaultValueBinder implements PHPExcel_Cell_IValueBinder
Expanded class hierarchy of PHPExcel_Cell_DefaultValueBinder
2 string references to 'PHPExcel_Cell_DefaultValueBinder'
- DefaultValueBinderTest::testDataTypeForRichTextObject in vendor/
phpoffice/ phpexcel/ unitTests/ Classes/ PHPExcel/ Cell/ DefaultValueBinderTest.php - DefaultValueBinderTest::testDataTypeForValue in vendor/
phpoffice/ phpexcel/ unitTests/ Classes/ PHPExcel/ Cell/ DefaultValueBinderTest.php - @dataProvider providerDataTypeForValue
File
- vendor/
phpoffice/ phpexcel/ Classes/ PHPExcel/ Cell/ DefaultValueBinder.php, line 46
View source
class PHPExcel_Cell_DefaultValueBinder implements PHPExcel_Cell_IValueBinder {
/**
* Bind value to a cell
*
* @param PHPExcel_Cell $cell Cell to bind value to
* @param mixed $value Value to bind in cell
* @return boolean
*/
public function bindValue(PHPExcel_Cell $cell, $value = null) {
// sanitize UTF-8 strings
if (is_string($value)) {
$value = PHPExcel_Shared_String::SanitizeUTF8($value);
}
elseif (is_object($value)) {
// Handle any objects that might be injected
if ($value instanceof DateTime) {
$value = $value
->format('Y-m-d H:i:s');
}
elseif (!$value instanceof PHPExcel_RichText) {
$value = (string) $value;
}
}
// Set value explicit
$cell
->setValueExplicit($value, self::dataTypeForValue($value));
// Done!
return true;
}
/**
* DataType for value
*
* @param mixed $pValue
* @return string
*/
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;
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
PHPExcel_Cell_DefaultValueBinder:: |
public | function |
Bind value to a cell Overrides PHPExcel_Cell_IValueBinder:: |
1 |
PHPExcel_Cell_DefaultValueBinder:: |
public static | function | DataType for value |