2015-10-16 232 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); 
}