1

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

我试过这个:

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

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

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

4

1 回答 1

0

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

编辑

用于计算工作表中一系列列的宽度:

$defaultColumnWidth = $pSheet->getDefaultColumnDimension()->getWidth();

除非明确覆盖,否则将为您提供每列的默认宽度;尽管您通常会为此使用 9.10。

然后对于每个单独的 columnDimension,检查定义的宽度以及是否启用了 autosize:

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

使用工作表 calculateColumnWidths() 方法。

这会将 columnDimension 宽度设置为计算值,然后您可以使用该值。

注意隐藏或折叠的列。

于 2013-01-08T11:07:51.450 回答