-
Notifications
You must be signed in to change notification settings - Fork 3.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Crash while trying setting a cell the value "123456\n" #1476
Comments
Hi! |
its a value setted custom by our users |
You right, it shouldn't. |
i cited two internal method the other one, who tries to set the value using an explicit type, doesn't recognize it as a number IMHO the correct one is the second, so MAYBE you only need to check that regex my two cents (in my code i solved with a $value = trim($value, '\n') ... but this is only a case specific workaround 😅) |
@giannign1, try this patch:
Does it solve the problem? |
Great, thank you!! |
when will the fix be online? :) |
@giannign1, I don't know. I'm not a member of the PhpSpreadsheet development team. :) |
i was thinking of yes lol |
I don't mind at all, if you'll do it. :) |
… with new line
… with new line
… with new line
### Added - Support writing to streams in all writers [#1292](#1292) - Support CSV files with data wrapping a lot of lines [#1468](#1468) - Support protection of worksheet by a specific hash algorithm [#1485](#1485) ### Fixed - Fix Chart samples by updating chart parameter from 0 to DataSeries::EMPTY_AS_GAP [#1448](#1448) - Fix return type in docblock for the Cells::get() [#1398](#1398) - Fix RATE, PRICE, XIRR, and XNPV Functions [#1456](#1456) - Save Excel 2010+ functions properly in XLSX [#1461](#1461) - Several improvements in HTML writer [#1464](#1464) - Fix incorrect behaviour when saving XLSX file with drawings [#1462](#1462), - Fix Crash while trying setting a cell the value "123456\n" [#1476](#1481) - Improved DATEDIF() function and reduced errors for Y and YM units [#1466](#1466) - Stricter typing for mergeCells [#1494](#1494) ### Changed - Drop support for PHP 7.1, according to https://phpspreadsheet.readthedocs.io/en/latest/#php-version-support - Drop partial migration tool in favor of complete migration via RectorPHP [#1445](#1445) - Limit composer package to `src/` [#1424](#1424)
This is:
What is the expected behavior?
$worksheet->setCellValueByColumnAndRow(1,1,"123456\n");
Should add the value "123456\n" (or better the number 123456) to the cell at indexes 1,1
What is the current behavior?
the DefaultValueBinder::dataTypeForValue matches (with the preg_match case) the value as a DataType::TYPE_NUMERIC and then the Cell->setValueExplicit crashes during the check
if (is_string($pValue) && !is_numeric($pValue))
What are the steps to reproduce?
Try to set to a cell a value with the
\n
at the end, for example:$worksheet = //Worksheet instance
$worksheet->setCellValueByColumnAndRow(1,1,"123456\n");
Please provide a Minimal, Complete, and Verifiable example of code that exhibits the issue without relying on an external Excel file or a web server:
The text was updated successfully, but these errors were encountered: