PHPOffice/PhpSpreadsheet · error · PhpOffice\PhpSpreadsheet\Exception
Unable to bind unstringable {gettype($value)}
Error message
Unable to bind unstringable {gettype($value)} What it means
Error "Unable to bind unstringable {gettype($value)}" thrown in PHPOffice/PhpSpreadsheet.
Source
Thrown at src/PhpSpreadsheet/Cell/DefaultValueBinder.php:43
*/
public function bindValue(Cell $cell, mixed $value): bool
{
// sanitize UTF-8 strings
if (is_string($value)) {
$value = StringHelper::sanitizeUTF8($value);
} elseif ($value === null || is_scalar($value) || $value instanceof RichText) {
// No need to do anything
} elseif ($value instanceof DateTimeInterface) {
$value = $value->format('Y-m-d H:i:s');
} elseif ($value instanceof Stringable) {
$value = (string) $value;
} elseif ($value instanceof BaseDrawing) {
$value->setCoordinates($cell->getCoordinate());
$value->setResizeProportional(false);
$value->setInCell(true);
$value->setWorksheet($cell->getWorksheet(), true);
} else {
throw new SpreadsheetException('Unable to bind unstringable ' . gettype($value));
}
// Set value explicit
$cell->setValueExplicit($value, static::dataTypeForValue($value));
// Done!
return true;
}
/**
* DataType for value.
*/
public static function dataTypeForValue(mixed $value): string
{
// Match the value against a few data types
if ($value === null) {
return DataType::TYPE_NULL;
}View on GitHub (pinned to 65b080eef4)
When it happens
Trigger: Thrown at src/PhpSpreadsheet/Cell/DefaultValueBinder.php:43 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of PHPOffice/PhpSpreadsheet@65b080eef4 (2026-08-17).
Data as JSON: /api/errors/f4721eb9caa4d620.
Report an issue: GitHub.