我想得到一行的宽度(由几个单元格组成)
我试过这个:
$this->objDrawing = new PHPExcel_Worksheet_Drawing();
$this->objDrawing->setCoordinates('A12:I12');
$this->objDrawing->getWidth();
..和getWidth()返回0,即使在A12上:I12我在每个单元格中都有内容。
为什么是getWidth();返回0,当我期望它返回行的总宽度时?那么我做错了什么?
答案 0 :(得分:0)
将图形添加到图形对象时设置宽度,并且该宽度基于图像文件的宽度(使用任何比例调整),而不是基于它占据的列。
修改强>
用于计算工作表中列范围的宽度:
$defaultColumnWidth = $pSheet->getDefaultColumnDimension()->getWidth();
除非明确覆盖,否则将为每列提供默认宽度;虽然你通常会使用9.10。
然后,对于每个单独的columnDimension,检查已定义的宽度以及是否启用了自动调整大小:
如果启用了自动调整大小,则需要根据该列中所有值的内容计算将使用的宽度
使用工作表calculateColumnWidths()方法。
这会将columnDimension宽度设置为您可以使用的计算值。
注意隐藏或折叠的列。