Quantcast
Channel: PHPWord
Viewing all articles
Browse latest Browse all 450

New Post: Table in a cell?

$
0
0
I got this working , please try

In PHPword/Writer/Word2007/base.php


protected function _writeTable(PHPWord_Shared_XMLWriter $objWriter = null, PHPWord_Section_Table $table) {
    $_rows = $table->getRows();
    $_cRows = count($_rows);

    if($_cRows > 0) {
        $objWriter->startElement('w:tbl');
            $tblStyle = $table->getStyle();
            if($tblStyle instanceof PHPWord_Style_Table) {
                $this->_writeTableStyle($objWriter, $tblStyle);
            } else {
                if(!empty($tblStyle)) {
                    $objWriter->startElement('w:tblPr');
                        $objWriter->startElement('w:tblStyle');
                            $objWriter->writeAttribute('w:val', $tblStyle);
                        $objWriter->endElement();
                    $objWriter->endElement();
                }
            }

            $_heights = $table->getRowHeights();
            for($i=0; $i<$_cRows; $i++) {
                $row = $_rows[$i];
                $height = $_heights[$i];

                $objWriter->startElement('w:tr');

                    if(!is_null($height)) {
                        $objWriter->startElement('w:trPr');
                            $objWriter->startElement('w:trHeight');
                                $objWriter->writeAttribute('w:val', $height);
                            $objWriter->endElement();
                        $objWriter->endElement();
                    }

                    foreach($row as $cell) {
                        $objWriter->startElement('w:tc');

                            $cellStyle = $cell->getStyle();
                            $width = $cell->getWidth();

                            $objWriter->startElement('w:tcPr');
                                $objWriter->startElement('w:tcW');
                                    $objWriter->writeAttribute('w:w', $width);
                                    $objWriter->writeAttribute('w:type', 'dxa');
                                $objWriter->endElement();

                                if($cellStyle instanceof PHPWord_Style_Cell) {
                                    $this->_writeCellStyle($objWriter, $cellStyle);
                                }

                            $objWriter->endElement();

                            $_elements = $cell->getElements();
                            if(count($_elements) > 0) {
                                foreach($_elements as $element) {
                                    if($element instanceof PHPWord_Section_Text) {
                                        $this->_writeText($objWriter, $element);
                                    } elseif($element instanceof PHPWord_Section_TextRun) {
                                        $this->_writeTextRun($objWriter, $element);
                                    } elseif($element instanceof PHPWord_Section_Link) {
                                        $this->_writeLink($objWriter, $element);
//ADD
                                        }elseif($element instanceof PHPWord_Section_Table) {
                                              $this->_writeTable($objWriter, $element);
//
                                    } __elseif($element instanceof PHPWord_Section_TextBreak) {
                                        $this->_writeTextBreak($objWriter);
                                    } elseif($element instanceof PHPWord_Section_ListItem) {
                                        $this->_writeListItem($objWriter, $element);
                                    } elseif($element instanceof PHPWord_Section_Image ||
                                             $element instanceof PHPWord_Section_MemoryImage) {
                                        $this->_writeImage($objWriter, $element);
                                    } elseif($element instanceof PHPWord_Section_Object) {
                                        $this->_writeObject($objWriter, $element);
                                    } elseif($element instanceof PHPWord_Section_Footer_PreserveText) {
                                        $this->_writePreserveText($objWriter, $element);
                                    }
                                }
                            } else {
                                $this->_writeTextBreak($objWriter);
                            }

                        $objWriter->endElement();
                    }
                $objWriter->endElement();
            }
        $objWriter->endElement();
    }
}
and see next post

Viewing all articles
Browse latest Browse all 450

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>