我通过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);
他们似乎没有工作。难道我做错了什么?我搜索了它,这些解决方案都不适合我。
答案 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
}