当前位置:首页 > PHP教程 > php应用 > 列表

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

发布:smiling 来源: PHP粉丝网  添加日期:2016-07-27 09:17:30 浏览: 评论:0 

PHPWord可以让php操作word文档了这个与phpexcel是一样的一个第三方插件了,我们下面来看在使用phpword时碰到的关于生成word实现table合并(colspan和rowspan)的例子。

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文件类中添加如下方法:

  1. public function setGridSpan($pValue = null)  
  2. {  
  3.    $this->_gridSpan = $pValue;  
  4. }  
  5. public function getGridSpan()  
  6. {  //phpfensi.com 
  7.    return $this->_gridSpan;  
  8. public function setVMerge($pValue = null)  
  9. {  
  10.    $this->_vMerge = $pValue;  
  11. }  
  12. public function getVMerge()  
  13. {  
  14.    return $this->_vMerge;  

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

$this->_gridSpan=null;

$this->_vMerge=null;

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

  1. $gridSpan = $style->getGridSpan(); 
  2. if(!is_null($gridSpan))  
  3. {  
  4.     $objWriter->startElement('w:gridSpan');  
  5.     $objWriter->writeAttribute('w:val'$gridSpan);  
  6.     $objWriter->endElement();  
  7. /** edited by www.phpfensi.com */ 
  8. $vMerge = $style->getVMerge();  
  9. if(!is_null($vMerge))  
  10. {  
  11.     $objWriter->startElement('w:vMerge');  
  12.     $objWriter->writeAttribute('w:val'$vMerge);  
  13.     $objWriter->endElement();  

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

PHPWord rowspan的使用:

  1. $table = $section->addTable(); 
  2. $table->addRow(); 
  3. $table->addCell(100,array('vMerge' => 'restart'))->addText('1'); 
  4. $table->addCell(100)->addText('2'); 
  5. $table->addRow(); 
  6. $table->addCell(100,array('vMerge' => 'fusion')); 
  7. $table->addCell(100)->addText('3'); 

PHPWord colspan的使用:

  1. $table->addRow(); 
  2.  $styleCell=array('gridSpan' => 2); 
  3.  $table->addCell(200, $styleCell)->addText('PHP二次开发'); 
  4.  $table->addCell(100)->addText('http://www.111cn.net'); 
  5.  $table->addRow(); 
  6.  $table->addCell(100)->addText('PHP'); 
  7.  $table->addCell(100)->addText('python'); 
  8.  $table->addCell(100)->addText('java'); 
  9.  $section->addTextBreak(10); 

Tags: php生成word colspan rowspan

分享到: