#phpexcel #php
Доброго всем времени суток господа Пользуюсь phpexcel'ем, причем не первый день. Одну штуковину упорно не могу найти в мануале (или нет ее там). Ищу перенос внутри ячейки. Вот допустим вам нужно вставить 200 знаков в ячейку, и они не влезают. В экселе есть кнопка - перенос текста. Вот интересует как нужную ячейку отформатировать, что бы этот перенос был. Можно ли так вообще? Смысл в том, что текст помещается в ячейке, путем автоматического переноса по строкам. Вот собственно и все, только команды не знаю, ее и спрашиваю. p.s. // выдернул из кода // выравниваю как надо $page->getStyle("".$jax."".$stroka."")->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_LEFT); $page->getStyle("".$jax."".$stroka."")->applyFromArray(array("font" => array( "bold" => true))); // вставляю данные, и проклятая переменная $for, неприлично длинная $page->setCellValue("".$jax."".$stroka."", "".$for."");
Ответы
Ответ 1
Насколько мне не изменяет память, то так: $page->getStyle("".$jax."".$stroka."")->getAlignment()->setWrapText(true);Ответ 2
Вместо \n ввести chr(10) - перевод кареткиОтвет 3
Если нам известно количество объединенных ячеек, то вот такой вариант работает и для объединенной ячейки: $file->setActiveSheetIndex(0)->getStyle('D1:E1')->getAlignment()->setWrapText(true); Похоже, что любой стиль будет работать таким образом для объединенных ячеек.Ответ 4
Применить стили из массива $objPHPExcel->getActiveSheet()->getStyle('B2')->getAlignment()->applyFromArray( array( 'horizontal' => PHPExcel_Style_Alignment::HORIZONTAL_CENTER, 'vertical' => PHPExcel_Style_Alignment::VERTICAL_CENTER, 'rotation' => 0, 'wrap' => TRUE ) );
Комментариев нет:
Отправить комментарий