我正在尝试使用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();
这就是我所得到的
这就是我要找的
我观察到的是,只有$arr
的第三和第六个元素被打印出来。这可能是由于setColSpan
属性3(打印3的倍数)造成的吗?如果是,我该怎么做?
发布于 2013-11-26 19:26:50
不要紧。我自己想出来的。如果其他人也在寻找同样的解决方案,下面是如何实现的。需要做一些小的修改,即:
变化
$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('');
https://stackoverflow.com/questions/20189511
复制相似问题