/** * Write row style * * @param string $type */ private function writeFirstRow(\PhpOffice\PhpWord\Style\Table $style, $type) { $this->xmlWriter->startElement('w:tblStylePr'); $this->xmlWriter->writeAttribute('w:type', $type); $this->xmlWriter->startElement('w:tcPr'); if (!is_null($style->getShading())) { $styleWriter = new Shading($this->xmlWriter, $style->getShading()); $styleWriter->write(); } // Borders $brdSz = $style->getBorderSize(); $brdCol = $style->getBorderColor(); $hasBorders = false; for ($i = 0; $i < 6; $i++) { if (!is_null($brdSz[$i])) { $hasBorders = true; } } if ($hasBorders) { $mbWriter = new MarginBorder($this->xmlWriter); $mbWriter->setSizes($brdSz); $mbWriter->setColors($brdCol); $this->xmlWriter->startElement('w:tcBorders'); $mbWriter->write(); $this->xmlWriter->endElement(); // w:tcBorders } $this->xmlWriter->endElement(); // w:tcPr $this->xmlWriter->endElement(); // w:tblStylePr }
/** * Write border. * * @param \PhpOffice\PhpWord\Shared\XMLWriter $xmlWriter * @param \PhpOffice\PhpWord\Style\Table $style * @return void */ private function writeBorder(XMLWriter $xmlWriter, TableStyle $style) { if ($style->hasBorder()) { $xmlWriter->startElement('w:tblBorders'); $styleWriter = new MarginBorder($xmlWriter); $styleWriter->setSizes($style->getBorderSize()); $styleWriter->setColors($style->getBorderColor()); $styleWriter->write(); $xmlWriter->endElement(); // w:tblBorders } }
/** * Set style value for various special value types */ public function testSetStyleValue() { $object = new Table(); $object->setStyleValue('borderSize', 120); $object->setStyleValue('cellMargin', 240); $object->setStyleValue('borderColor', '999999'); $this->assertEquals(array(120, 120, 120, 120, 120, 120), $object->getBorderSize()); $this->assertEquals(array(240, 240, 240, 240), $object->getCellMargin()); $this->assertEquals(array('999999', '999999', '999999', '999999', '999999', '999999'), $object->getBorderColor()); }