/** * Write table * * @return string */ public function write() { if (!$this->element instanceof \PhpOffice\PhpWord\Element\Table) { return ''; } $content = ''; $rows = $this->element->getRows(); $rowCount = count($rows); if ($rowCount > 0) { $content .= '<table>' . PHP_EOL; foreach ($rows as $row) { /** @var $row \PhpOffice\PhpWord\Element\Row Type hint */ $rowStyle = $row->getStyle(); // $height = $row->getHeight(); $tblHeader = $rowStyle->isTblHeader(); $content .= '<tr>' . PHP_EOL; foreach ($row->getCells() as $cell) { $writer = new Container($this->parentWriter, $cell); $cellTag = $tblHeader ? 'th' : 'td'; $content .= "<{$cellTag}>" . PHP_EOL; $content .= $writer->write(); $content .= "</{$cellTag}>" . PHP_EOL; } $content .= '</tr>' . PHP_EOL; } $content .= '</table>' . PHP_EOL; } return $content; }
/** * Write element */ public function write() { $xmlWriter = $this->getXmlWriter(); $element = $this->getElement(); $xmlWriter->startElement('text:p'); $containerWriter = new Container($xmlWriter, $element); $containerWriter->write(); $xmlWriter->endElement(); }
/** * Write text run * * @return string */ public function write() { $content = ''; $content .= $this->writeOpening(); $writer = new Container($this->parentWriter, $this->element); $content .= $writer->write(); $content .= $this->writeClosing(); return $content; }
/** * Write textrun element */ public function write() { $xmlWriter = $this->getXmlWriter(); $element = $this->getElement(); $this->writeOpeningWP(); $containerWriter = new Container($xmlWriter, $element); $containerWriter->write(); $this->writeClosingWP(); }
/** * Write element */ public function write() { $xmlWriter = $this->getXmlWriter(); $element = $this->getElement(); if (!$element instanceof \PhpOffice\PhpWord\Element\Table) { return; } $rows = $element->getRows(); $rowCount = count($rows); $colCount = $element->countColumns(); if ($rowCount > 0) { $xmlWriter->startElement('table:table'); $xmlWriter->writeAttribute('table:name', $element->getElementId()); $xmlWriter->writeAttribute('table:style', $element->getElementId()); $xmlWriter->startElement('table:table-column'); $xmlWriter->writeAttribute('table:number-columns-repeated', $colCount); $xmlWriter->endElement(); // table:table-column foreach ($rows as $row) { $xmlWriter->startElement('table:table-row'); /** @var $row \PhpOffice\PhpWord\Element\Row Type hint */ foreach ($row->getCells() as $cell) { $xmlWriter->startElement('table:table-cell'); $xmlWriter->writeAttribute('office:value-type', 'string'); $containerWriter = new Container($xmlWriter, $cell); $containerWriter->write(); $xmlWriter->endElement(); // table:table-cell } $xmlWriter->endElement(); // table:table-row } $xmlWriter->endElement(); // table:table } }