2015-10-16 206 views
3

我想用PHPExcel 1.8.0在生成的.xls上显示整个文本。目前,即使没有设置任何行高,单元格(实际上是整行)也没有调整大小。PHPExcel,自动调整行高

这里有一些截图:

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);'也不是'012R\t \t $ objPHPExcel-> getActiveSheet() - > getRowDimension(8) - > setRowHeight(0) ;'为我工作。 –

回答

3

下面是为我工作,但其单列:

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

要改变所有行自动的高度,你可以这样做:

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