通常,您会像这样使用 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');
}
这怎么可能解决?