phpnestedphpdocx

Nested tables with phpdocx


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?


Solution

  • 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);