как сделать новые строки в ячейке с помощью phpexcel - PullRequest
47 голосов
/ 11 мая 2011

У меня проблема с php excel,

Я хочу создать новую строку в одной ячейке, но не могу, я пытался использовать \ n или
, но это не сработало. это мой код:

$objPHPExcel->getActiveSheet()->setCellValue('H5', 'Hello\nWorld'); // i need this show in two line
$objPHPExcel->getActiveSheet()->getStyle('H5')->getAlignment()->setWrapText(true);

fyi: мой формат excel - это xls, а не xlsx. большое спасибо:)

Ответы [ 5 ]

95 голосов
/ 11 мая 2011
$objPHPExcel->getActiveSheet()->setCellValue('H5', "Hello\nWorld");
$objPHPExcel->getActiveSheet()->getStyle('H5')->getAlignment()->setWrapText(true);

У меня работает ...

Вы всегда должны использовать двойные кавычки при добавлении escape-последовательностей в строку PHP.

24 голосов
/ 11 мая 2011

вы должны использовать 'r', чтобы перейти на новую строку в excel с php

и использовать двойные кавычки при добавлении escape-последовательностей в строку PHP.

  $objPHPExcel->getActiveSheet()->setCellValue('H5', "Hello\r World");
  $objPHPExcel->getActiveSheet()->getStyle('H5')->getAlignment()->setWrapText(true);
9 голосов
/ 22 января 2016

Улучшен ответ на основе Равина и других

$objPHPExcel
  ->getActiveSheet()
  ->setCellValue('H5', "Hello".PHP_EOL." World");

$objPHPExcel
  ->getActiveSheet()
  ->getStyle('H5')
  ->getAlignment()
  ->setWrapText(true);
1 голос
/ 12 февраля 2019

Мы можем установить для стиль по умолчанию , поэтому не нужно указывать для каждого диапазона ячеек:
$objPHPExcel->getDefaultStyle()->getAlignment()->setWrapText(true);

0 голосов
/ 19 декабря 2017

Для достижения следующей строки, но с тем же экспортом ячеек, это самое простое решение.

<tr>
    <td style="wrap-text: true">
        Test
        <br />
        Test2
    </td>
</tr>
...