getStyle(); if (!$style instanceof CellStyle) { return; } $xmlWriter = $this->getXmlWriter(); $xmlWriter->startElement('w:tcPr'); // Width if (null !== $this->width || null !== $style->getWidth()) { $width = null === $this->width ? $style->getWidth() : $this->width; $xmlWriter->startElement('w:tcW'); $xmlWriter->writeAttribute('w:w', $width); $xmlWriter->writeAttribute('w:type', $style->getUnit()); $xmlWriter->endElement(); // w:tcW } // Text direction $textDir = $style->getTextDirection(); $xmlWriter->writeElementIf(null !== $textDir, 'w:textDirection', 'w:val', $textDir); // Vertical alignment $vAlign = $style->getVAlign(); $xmlWriter->writeElementIf(null !== $vAlign, 'w:vAlign', 'w:val', $vAlign); // Border if ($style->hasBorder()) { $xmlWriter->startElement('w:tcBorders'); $styleWriter = new MarginBorder($xmlWriter); $styleWriter->setSizes($style->getBorderSize()); $styleWriter->setColors($style->getBorderColor()); $styleWriter->setStyles($style->getBorderStyle()); $styleWriter->setAttributes(['defaultColor' => CellStyle::DEFAULT_BORDER_COLOR]); $styleWriter->write(); $xmlWriter->endElement(); } // Shading $shading = $style->getShading(); if (null !== $shading) { $styleWriter = new Shading($xmlWriter, $shading); $styleWriter->write(); } // Colspan & rowspan $gridSpan = $style->getGridSpan(); $vMerge = $style->getVMerge(); $xmlWriter->writeElementIf(null !== $gridSpan, 'w:gridSpan', 'w:val', $gridSpan); $xmlWriter->writeElementIf(null !== $vMerge, 'w:vMerge', 'w:val', $vMerge); $xmlWriter->writeElementIf($style->getNoWrap(), 'w:noWrap'); $xmlWriter->endElement(); // w:tcPr } /** * Set width. * * @param int $value */ public function setWidth($value = null): void { $this->width = $value; } }