PHPExcel setWrapText(true)不起作用

时间:2014-10-08 12:49:34

标签: php phpexcel textwrapping

我通过PHPExcel进行文本换行存在严重问题。我有一个列,其中包含新行的文本。它在LibreOffice中进行换行。在MS Office中,它显示在一行中。在两个查看器中,当我双击进入单元格然后单击单元格时,它只进行换行。我有以下代码:

foreach($view->results as $row){
    //...
    foreach($unserialized as $task){
      $value = $field_info['settings']['allowed_values'][$doc['document']];
      $current_tasks .= $value . "\n";          
    }
  $active_sheet->setCellValue($letter.$i, $current_tasks); 
  //...
  //end of main foreach loop
  $active_sheet->getStyle('L' . $i)->getAlignment()->setWrapText(true);
  $i++;
}
//tried this too outside the foreach:
$active_sheet->getStyle('L2:L' . $i)->getAlignment()->setWrapText(true);

他们似乎没有工作。难道我做错了什么?我搜索了它,这些解决方案都不适合我。

1 个答案:

答案 0 :(得分:1)

我只需要设置行的高度。

$numtasks = 20;
foreach($unserialized as $task){
  $value = $field_info['settings']['allowed_values'][$doc['document']];
  $current_tasks .= $value . "\n";
  $active_sheet->getRowDimension($i)->setRowHeight($numtasks);
  $numtasks += 20;  //20 is for 1 cells height in pixels        
}