Intereting Posts
Почему моя «Страница » не сосредоточена на моей веб-странице? включить путь и cron Как вы используете Javascript для дублирования полей формы? Извлечь размеры изображения из Base64 String Как заменить один цвет на другой в png 24 альфа-прозрачном изображении с помощью GD Php, вычисление показателя с морковью (^) не выполняется Неустранимая ошибка: вызов неопределенной функции mb_strlen () Невозможно добавить или обновить дочернюю строку: ограничение внешнего ключа не выполняется PHP-массив для строковой ошибки преобразования JQuery – Uncaught TypeError: не может использовать оператор 'in' для поиска '324' в Есть ли функция переноса слов для GD2 в php? Полоса прокрутки автоматически скрыта, если я не изменю размер страницы Получите ВСЕ возможные результаты из смесительного массива Использование плагина поиска CakeDC со связанными моделями Святой грааль очистки ввода и вывода в php?

Сохранение символов новой строки в 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");