<?php
namespace PhpOffice\PhpSpreadsheet\Cell;
use PhpOffice\PhpSpreadsheet\RichText\RichText;
use PhpOffice\PhpSpreadsheet\Shared\StringHelper;
class DataType
{
// Data types
const TYPE_STRING2 = 'str';
const TYPE_STRING = 's';
const TYPE_FORMULA = 'f';
const TYPE_NUMERIC = 'n';
const TYPE_BOOL = 'b';
const TYPE_NULL = 'null';
const TYPE_INLINE = 'inlineStr';
const TYPE_ERROR = 'e';
const TYPE_ISO_DATE = 'd';
/**
* List of error codes.
*
* @var array<string, int>
*/
private static $errorCodes = [
'#NULL!' => 0,
'#DIV/0!' => 1,
'#VALUE!' => 2,
'#REF!' => 3,
'#NAME?' => 4,
'#NUM!' => 5,
'#N/A' => 6,
'#CALC!' => 7,
];
public const MAX_STRING_LENGTH = 32767;
/**
* Get list of error codes.
*
* @return array<string, int>
*/
public static function getErrorCodes()
{
return self::$errorCodes;
}
/**
* Check a string that it satisfies Excel requirements.
*
* @param null|RichText|string $textValue Value to sanitize to an Excel string
*
* @return RichText|string Sanitized value
*/
public static function checkString($textValue)
{
if ($textValue instanceof RichText) {
// TODO: Sanitize Rich-Text string (max. character count is 32,767)
return $textValue;
}
// string must never be longer than 32,767 characters, truncate if necessary
$textValue = StringHelper::substring((string) $textValue, 0, self::MAX_STRING_LENGTH);
// we require that newline is represented as "\n" in core, not as "\r\n" or "\r"
$textValue = str_replace(["\r\n", "\r"], "\n", $textValue);
return $textValue;
}
/**
* Check a value that it is a valid error code.
*
* @param mixed $value Value to sanitize to an Excel error code
*
* @return string Sanitized value
*/
public static function checkErrorCode($value)
{
$value = (string) $value;
if (!isset(self::$errorCodes[$value])) {
$value = '#NULL!';
}
return $value;
}
}
How To Payment
Making a payment on our website is quick and secure. Start by logging in or creating an account. Select your preferred payment method, input the required details, and review the information. Once you confirm everything is correct, click on the "Submit Payment" button. You’ll receive instant confirmation and can track your payment status through your account dashboard. It’s an easy and secure process.