What I do:
How can I found \n and insert new line? For example I have in A1 next text "One\nTwo". I read text from A1
$ltr='A1';
$vle=$spreadsheet->getActiveSheet()->getCell($ltr);
After this I try to insert text in A1 again in A1 and replace \n with new line in one cell
$spreadsheet->getActiveSheet()->getCell($ltr)->setValue("${vle}");
$spreadsheet->getActiveSheet()->getStyle($ltr)->getAlignment()->setWrapText(true);
But it does not work for my.
So, if I open tamplate with text I can't replace \n in cells. What can I do?
Upd. I try use char(10) and insert formula (for example) ="hello"&char(10)&"world"
But inserted only ="hello"&char(10)
If you're asking about this issue on the PHPspreadsheet github issues log then this is a problem with your understanding of PHP strings.
$dataArray = [
['2010', 'Q1', 'United\nStates', 790],
['2010', 'Q2', 'United States', 730],
['2010', 'Q3', 'United States', 860]
]
A '\n'
in single quotes is treated as a literal \n
; a "\n"
in double quotes is treated as a new line character. So either build your array using double quotes:
$dataArray = [
['2010', 'Q1', "United\nStates", 790],
['2010', 'Q2', "United States", 730],
['2010', 'Q3', "United States", 860]
]
or convert the literal \n
to a new line using str_replace:
$modified = str_replace('\n', "\n", $original);