Обычно строки с автоматической высотой форматируются с помощью PHPExcel следующим образом:
$file = new PHPExcel();
$file->getActiveSheet()->setCellValue('A1', 'Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.');
$file->getActiveSheet()->getRowDimension(1)->setRowHeight(-1);
$file->getActiveSheet()->getStyle('A1')->getAlignment()->setWrapText(true);
$writer = PHPExcel_IOFactory::createWriter($file, 'Excel2007');
$writer->save(str_replace('.php', '.xlsx', __FILE__));
Проблема в том, что это не работает, когда вы открываете такой файл с помощью LibreOffice Calc. Вместо этого вам нужно выбрать ячейку, выбрать Format Cells...
и щелкнуть OK
.
Кажется, это известная ошибка, но, к сожалению, предлагаемое решение путем добавления следующего блока else
в _ 5_ в строке 1004 не похоже, работает:
else {
$objWriter->writeAttribute('customHeight', 'false');
$objWriter->writeAttribute('ht', '0');
}
Как это можно было исправить?