0

我正在尝试使用 PHPPowerpoint 创建一个表。我在处理合并表格单元格时遇到了一个问题,如下所示:

$arr = array('TNS', 'Hard Reserach', 'Kadence', 'RSMRS', 'Sharp', 'Hansa', 'Market Excel');

$shape = $currentSlide->createTableShape(26);
$row = $shape->createRow();
$row->nextCell()->createTextRun('Base')->getFont()->setBold(true)->setSize(14);
$row->nextCell()->createTextRun('')->getFont()->setBold(true)->setSize(14);
$row->nextCell()->setColSpan(3)->createTextRun('All')->getFont()->setBold(true)->setSize(14);

foreach($arr as $name)
{
$row->nextCell()->setColSpan(3)->createTextRun($name)->getFont()->setBold(true)->setSize(14);   
}
$row = $shape->createRow();

这就是我得到的

当前的

这就是我要找的

预期的

我观察到的是,只有第 3 和第 6 个元素$arr被打印出来。这可能是由于 3 的setColSpan属性(打印了 3 的倍数)吗?如果是,我该怎么做?

4

1 回答 1

1

没关系。我自己想通了。如果其他人正在寻找相同的解决方案,那么它是如何完成的。需要进行轻微修改,即:

改变

$row->nextCell()->setColSpan(3)->createTextRun('All')->getFont()->setBold(true)->setSize(14);

$row->nextCell()->setColSpan(3)->createTextRun('All')->getFont()->setBold(true)->setSize(14);
$row->nextCell()->createTextRun('');
$row->nextCell()->createTextRun('');

和改变

$row->nextCell()->setColSpan(3)->createTextRun($name)->getFont()->setBold(true)->setSize(14);

$row->$nextCell()->setColSpan(3)->createTextRun($name)->getFont()->setBold(true)->setSize(14);
$row->nextCell()->createTextRun('');
$row->nextCell()->createTextRun('');
于 2013-11-26T11:26:50.403 回答