Search code examples
stylesbordercellphpoffice

How to adjust style of table cell border?


When I add a cell to a table, I can manipulate its thickness (borderBottomSize), its color (borderBottomColor) but not its style (dashed, dotted, longdashed, ...).

When I read the code, the PhpOffice\PhpWord\Style\Cell extends the PhpOffice\PhpWord\Style\Border. And the border class has the attribute borderBottomStyle. But how to configure that?

I also looked into the PhpOffice\PhpWord\Style\Line, there I can find some "dashStyles", but none of them are working...

My question: How to change style of border (from strong line to for example dotted)?


Solution

  • You can define the style of the border by using the cell style property borderStyle. By default, it's set to solid, but you can use other values like dashed, dotted, double, etc. Sadly, this feature is not documented so I don't know all the available styles.

    Don't forget to add a border size as well, otherwise no border will be rendered.

    Example for a dotted cell:

    $dottedCell = $tableRow->addCell($cellWidth, ['borderStyle' => 'dotted', 'borderSize' => 6]);