5

通常,您会像这样使用 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');
}

这怎么可能解决?

4

1 回答 1

0

似乎这是 Libre Office 中的一个已知错误。此处详细讨论:https ://phpexcel.codeplex.com/discussions/429322

于 2015-09-07T07:44:42.883 回答