PHP Excel Writer包装文本

时间:2012-08-30 07:37:07

标签: php spreadsheet-excel-writer

我正在使用这个插件,我知道它不是最好的,但我没有时间重写所有这些脚本。我需要知道如何启用文本换行。网站上的incomplete documentation根本没用。

我尝试使用1和'wrap'作为数组中的参数,但没有运气。

有没有人让这个工作?

3 个答案:

答案 0 :(得分:5)

如果你想使用构造addFormat(),wrapText属性的名称必须是' wrap'。

您写道:' textWrap' => 1

你应该:'包装' =>是或者包裹' => 1

例如:

$style = array(
    'alignment' => array(
        'horizontal' => PHPExcel_Style_Alignment::HORIZONTAL_CENTER,
        'wrap' => true
    )
);
$objPHPExcel->getActiveSheet()->getStyle('A1')->applyFromArray($style);

单元格 A1 的结果是文本包装的中心对齐

答案 1 :(得分:0)

好的想通了。我试图这样做:

$format_caption =& $workbook->addFormat(array('size' => 11, 'fontFamily' => 'Calibri', 'numformat' => '@', 'bold' => 1, 'left' => 1, 'top' => 1, 'bottom' => 1, 'right' => 1, 'vAlign' => 'vcenter', 'align' => 'center', 'fgcolor' => 50, 'textWrap' => 1));

但设置'textWrap' => 1不起作用。

所以我改了一下:

$format_caption =& $workbook->addFormat(array('size' => 11, 'fontFamily' => 'Calibri', 'numformat' => '@', 'bold' => 1, 'left' => 1, 'top' => 1, 'bottom' => 1, 'right' => 1, 'vAlign' => 'vcenter', 'align' => 'center', 'fgcolor' => 50));
$format_caption -> setTextWrap();

这解决了我的问题。

答案 2 :(得分:0)

textWrap无法正常工作,因为您设置了行高,例如:

$worksheet -> setRow($numRow, 17);

删除此行,将自动计算行高。