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が出力されていることです。これsetColSpanは 3 の属性 (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 に答える