Сохранение символов новой строки в PHPExcel

Я пытаюсь создать файл Excel с помощью PHPExcel. Исходные данные представляют собой массив ассоциативных массивов, каждый из которых хранит имя и адрес:

Array ( [0] => Array ( [name] => Joe Bloggs [address] => 10 Main St Bayside Big Town ABC123 ) [1] => Array ( [name] => Mary Bloggs [address] => 18 Bridge St Riverside Small Town XYZ987 ) : : ) 

Как вы можете видеть, адреса содержат символы новой строки. Я пишу эти данные в файл Excel, используя PHP, используя следующий код:

 $phpExcel = new PHPExcel(); $phpExcel->setActiveSheetIndex(0); $phpExcel->getActiveSheet()->getCell('A1')->setValue("Name"); $phpExcel->getActiveSheet()->getCell('B1')->setValue("Address"); $index = 2; foreach($rows as $row) { $phpExcel->getActiveSheet()->getCell('A'.$index)->setValue($row["name"]); $phpExcel->getActiveSheet()->getCell('B'.$index)->setValue($row["address"]); $index++; } $objWriter = PHPExcel_IOFactory::createWriter($phpExcel, 'Excel2007'); $filename = "outputs/excel/data.xlsx"; $objWriter->save($filename); 

Однако полученный файл Excel не содержит символов новой строки, которые я хочу сохранить.

 Name Address Joe Bloggs 10 Main St Bayside Big Town ABC123 Mary Bloggs 18 Bridge St Riverside Small Town XYZ987 ... 

Из комментариев на веб-сайте PHPExcel кажется, что это должно быть возможно, но я не могу понять, как это сделать.

Может кто-нибудь мне помочь? БЛАГОДАРЮ.

Вы используете «\ n» в качестве символа возврата; и ячейка должна быть настроена на wrap ;

 $objPHPExcel->getActiveSheet() ->getCell('A1') ->setValue("First line\nSecond Line\nThird Line"); $objPHPExcel->getActiveSheet() ->getStyle('A1') ->getAlignment() ->setWrapText(true); 

как описано в разделе 4.6.6 документации разработчика

Попробуйте использовать это вместо «\ n»:

 $lfcr = chr(10) . chr(13); 

затем замените «\ n» всюду на $ lfcr, например:

 setValue("First line". $lfcr . "second Line" . $lfcr . "Third Line");