2014-10-08 106 views
1

我有一個嚴重的問題,通過PHPExcel進行文本換行。我有一列,其中包含新行的文本。它在LibreOffice中做了換行符。在MS Office中,它顯示在一行中。在這兩個查看器中,只有雙擊單元格,然後單擊單元格時纔會打包。我有以下代碼:PHPExcel setWrapText(true)不起作用

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); 

他們似乎沒有工作。難道我做錯了什麼?我將它搜索起來,並沒有解決方案爲我工作。

+0

您正在使用什麼作者? – 2014-10-08 12:56:07

+0

我正在使用Excel2007 – 2014-10-08 14:18:51

+0

而'$ letter'絕對是'L'嗎? – 2014-10-08 14:24:31

回答

0

我只需要設置行的高度。

$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   
} 
相關問題