Nested tables with phpdocx

506 Views Asked by At

Im trying to create a nested table with the library phpdocx. In their documentation they write that it is possible to have a nested table in a table cell. But its not clearly written how to make it work..

I tried the following code:

$valuesTable = array(
array(
    array(array(1,2,34),12,13,14),
    array(21,22,23,24),
    array(31,32,33,34),
);

$params = array(
     'border' => 'single',
     'tableAlign' => 'center',
     'borderWidth' => 10,
     'borderColor' => 'B70000',
     'textProperties' => array('bold' => true, 'font' => 'Algerian', 'fontSize' => 18),
);

$docx->addTable($valuesTable, $params);

But the cell is just empty. Is there an easy way to get this nested table displayed?

1

There are 1 best solutions below

0
On BEST ANSWER

I finally found the solution. It is possible with WordFragments.

  $innerData = array(1,2,3,4);

  $innerTable = new \WordFragment($docx);
  $innerTable->addTable($innerData, array('rawWordML' => true));

  $tableParams = array(); // Add here the table params

  $outerData = array("A", "B", $innerTable);
  $outerTable->addTable($outerData, $tableParams);