如何获得行的宽度(多个单元格)?

时间:2013-01-08 10:50:35

标签: php phpexcel

我想得到一行的宽度(由几个单元格组成)

我试过这个:

$this->objDrawing = new PHPExcel_Worksheet_Drawing();
$this->objDrawing->setCoordinates('A12:I12');
$this->objDrawing->getWidth();

..和getWidth()返回0,即使在A12上:I12我在每个单元格中都有内容。

为什么是getWidth();返回0,当我期望它返回行的总宽度时?那么我做错了什么?

1 个答案:

答案 0 :(得分:0)

将图形添加到图形对象时设置宽度,并且该宽度基于图像文件的宽度(使用任何比例调整),而不是基于它占据的列。

修改

用于计算工作表中列范围的宽度:

$defaultColumnWidth = $pSheet->getDefaultColumnDimension()->getWidth();
除非明确覆盖,否则

将为每列提供默认宽度;虽然你通常会使用9.10。

然后,对于每个单独的columnDimension,检查已定义的宽度以及是否启用了自动调整大小:

如果启用了自动调整大小,则需要根据该列中所有值的内容计算将使用的宽度

使用工作表calculateColumnWidths()方法。

这会将columnDimension宽度设置为您可以使用的计算值。

注意隐藏或折叠的列。