Что я делаю:
Как я могу найти \ n и вставить новую строку? Например у меня в А1 следующий текст «One \ nTwo». Я читаю текст из А1
$ltr='A1';
$vle=$spreadsheet->getActiveSheet()->getCell($ltr);
После этого я пытаюсь снова вставить текст в A1 в A1 и заменить \ n новой строкой в одной ячейке.
$spreadsheet->getActiveSheet()->getCell($ltr)->setValue("${vle}");
$spreadsheet->getActiveSheet()->getStyle($ltr)->getAlignment()->setWrapText(true);
Но это не работает для меня.
Поэтому, если я открою тамплату с текстом, я не смогу заменить \ n в ячейках. Что я могу сделать?
Upd. Я пытаюсь использовать char (10) и вставить формулу (например) ="hello"&char(10)&"world"
Но вставлено только ="hello"&char(10)
Если вы спрашиваете о эта проблема в журнале проблем с PHP тогда это проблема с вашим пониманием строк PHP.
$dataArray = [
['2010', 'Q1', 'United\nStates', 790],
['2010', 'Q2', 'United States', 730],
['2010', 'Q3', 'United States', 860]
]
'\n'
в одинарных кавычках трактуется как буквальный \n
; "\n"
в двойных кавычках рассматривается как символ новой строки. Так что либо создайте свой массив, используя двойные кавычки:
$dataArray = [
['2010', 'Q1', "United\nStates", 790],
['2010', 'Q2', "United States", 730],
['2010', 'Q3', "United States", 860]
]
или преобразовать буквальное \n
на новую строку, используя str_replace:
$modified = str_replace('\n', "\n", $original);
Использование «char (10)» в формуле Excel. & = concantinate и char (10) = \ n
$textWithNewLine = '="hello"&char(10)&"world"';
$spreadsheet->getActiveSheet()->getCell($ltr)->setValue($textWithNewLine);
Когда я взрываю / взрываю str и вставляю \ n, я использую ». Нужно использовать «»
implode("\n", $array);