首页 > Web开发 > 详细

PHPWord生成word实现table合并(colspan和rowspan)

时间:2015-03-25 20:51:19      阅读:1835      评论:0      收藏:0      [点我收藏+]

PHPWord(http://phpword.codeplex.com/)是一个很好处理和生成WORD文档的工具,但是生成复杂的word,如colspan和rowspan的实现,还是需要你做些修改。

第一步:在phpword/Style/Cell.php文件类中添加如下属性:

private $_gridSpan;// for the colspan
private $_vMerge;// for the rowspan

第二步:在phpword/Style/Cell.php文件类中添加如下方法:

public function setGridSpan($pValue = null) 
{ 
   $this->_gridSpan = $pValue; 
} 
public function getGridSpan() 
{ 
   return $this->_gridSpan; 
}
public function setVMerge($pValue = null) 
{ 
   $this->_vMerge = $pValue; 
} 
public function getVMerge() 
{ 
   return $this->_vMerge; 
}


第三步:在phpword/Style/Cell.php文件类构造函数__construct()中添加如下:

$this->_gridSpan=null;
$this->_vMerge=null;

第四步:在phpword/writer/word2007/base.php类的_writeCellStyle方法中添加:

$gridSpan = $style->getGridSpan();
if(!is_null($gridSpan)) 
{ 
    $objWriter->startElement(‘w:gridSpan‘); 
    $objWriter->writeAttribute(‘w:val‘, $gridSpan); 
    $objWriter->endElement(); 
}
/** edited by www.phpddt.com */
$vMerge = $style->getVMerge(); 
if(!is_null($vMerge)) 
{ 
    $objWriter->startElement(‘w:vMerge‘); 
    $objWriter->writeAttribute(‘w:val‘, $vMerge); 
    $objWriter->endElement(); 
}

 

OK,恭喜你,搞定了,然后看看怎么使用吧!

PHPWord rowspan的使用:

$table = $section->addTable();
$table->addRow();
$table->addCell(100,array(‘vMerge‘ => ‘restart‘))->addText(‘1‘);
$table->addCell(100)->addText(‘2‘);
$table->addRow();
$table->addCell(100,array(‘vMerge‘ => ‘fusion‘));
$table->addCell(100)->addText(‘3‘);

 生成的word效果如下截图:

 技术分享

PHPWord colspan的使用:

        $table->addRow();
        $styleCell=array(‘gridSpan‘ => 2);
        $table->addCell(200, $styleCell)->addText(‘PHP点点通‘);
        $table->addCell(100)->addText(‘http://www.phpddt.com‘);
        $table->addRow();
        $table->addCell(100)->addText(‘PHP‘);
        $table->addCell(100)->addText(‘python‘);
        $table->addCell(100)->addText(‘java‘);
        $section->addTextBreak(10);

生成word效果图如下:

技术分享

PHPWord生成word实现table合并(colspan和rowspan)

原文:http://www.cnblogs.com/ahwu/p/4366521.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!