Автоматическая высота в LibreOffice Calc

Обычно строки с автоматической высотой форматируются с помощью 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');
}

Как это можно было исправить?


person witrin    schedule 22.08.2014    source источник


Ответы (1)


Похоже, это известная ошибка в Libre Office. Подробное обсуждение здесь: https://phpexcel.codeplex.com/discussions/429322

person CoolEsh    schedule 07.09.2015
comment
эта ссылка не работает. - person StR; 17.05.2017