Пример #1
0
 /**
  * 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;
 }
Пример #2
0
 /**
  * Write element
  */
 public function write()
 {
     $xmlWriter = $this->getXmlWriter();
     $element = $this->getElement();
     $xmlWriter->startElement('text:p');
     $containerWriter = new Container($xmlWriter, $element);
     $containerWriter->write();
     $xmlWriter->endElement();
 }
Пример #3
0
 /**
  * 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;
 }
Пример #4
0
 /**
  * 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
     }
 }