通常、次のように 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
。
これは既知のバグのようですが、残念ながら1004 行else
に次のブロックを追加することによる提案された解決策は機能しないようです:Classes\PHPExcel\Writer\Excel2007\Worksheet.php
else {
$objWriter->writeAttribute('customHeight', 'false');
$objWriter->writeAttribute('ht', '0');
}
これはどのように修正できますか?