2015-10-16 3 views
3

Я хотел бы отобразить весь текст в сгенерированном формате .xls с PHPExcel 1.8.0. В настоящее время ячейка (фактически вся строка) не изменяется, даже если она не устанавливает высоту строки.PHPExcel, auto resize row height

вот несколько скриншотов:

What i got (generated)

What i would like (obtained on double clicking the "resize row height")

Вот мой код:

$this->xls->getActiveSheet()->getRowDimension($this->row)->setRowHeight(-1); 

$this->xls->getActiveSheet()->getStyle("A".$this->row.":F".$this->row)->getAlignment()->setWrapText(true); 

$this->xls->getActiveSheet()->getCell("A".$this->row)->setValue(APPLICATION_ACADEMY); 
$this->xls->getActiveSheet()->getCell("B".$this->row)->setValue(date("d/m/Y")); 
$this->xls->getActiveSheet()->getCell("C".$this->row)->setValue($fait['nature'] === null ? $fait['codeNature'] : $fait['nature']); 
$this->xls->getActiveSheet()->getCell("D".$this->row)->setValue($fait['etablissement']); 

Я использовал то, что я уже нашел в стеке (setTextWrap/setRowHeight (-1)), но он не оказывает никакого эффекта

У кого-нибудь есть идея? Возможно ли это? Благодарю.

+0

вы нашли починку? это тоже не работает для меня. – artfulrobot

+0

Я также использую v 1.8.0, а '-1' не работает для меня. То есть ни '$ objPHPExcel-> getActiveSheet() -> getDefaultRowDimension() -> setRowHeight (-1);' 'ни \t \t \t $ objPHPExcel-> getActiveSheet() -> getRowDimension (8) -> setRowHeight (0) «работал на меня. –

ответ

3

Ниже работает для меня, но его для одной строки:

$excel->getActiveSheet()->getRowDimension(1)->setRowHeight(-1); 

Чтобы изменить высоту всех строк на авто вы можете сделать:

foreach($xls->getActiveSheet()->getRowDimensions() as $rd) { 
    $rd->setRowHeight(-1); 
}