493333王中王开奖结果-王中王开奖一马中特

493333王中王开奖结果让不同类型的网络可以可靠地互相联接,王中王开奖一马中特拥有规模庞大的原创游戏,在这里您将享受的不一样快乐。

网络频道

当前位置:493333王中王开奖结果 > 网络频道 > PHPWord:生成word的php类库相关问题总结

PHPWord:生成word的php类库相关问题总结

来源:http://www.soniaLorenzana.com 作者:493333王中王开奖结果 时间:2019-09-30 17:04

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

最近在做一个项目,需要导出word文档,查阅相关资料之后选择了PHPWord,但是由于是国外开发者写的类库,国内资料又不全,因此在使用的过程中遇到一些问题。关于PHPWord类库的使用手册,网上很多。下面只将遇到的问题记录下来,算是笔记:

第一步:在phpword/Style/Cell.php文件类中添加如下属性:
    private $_gridSpan;// for the colspan
    private $_vMerge;// for the rowspan

493333王中王开奖结果 1

第二步:在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()中添加如下:

1.PHPWord如何安装使用?

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

这是第一个困扰我的问题,在网上也没有找到实质性的资料,因此我除了php环境没有下载安装软件,直接找到代码包,配置环境做测试的,下面是操作顺序:

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

a.下载代码包,我找了好久,这个不错,亲测可用。地址:http://phpword.codeplex.com/releases/view/49543

    $gridSpan = $style->getGridSpan();
    if(!is_null($gridSpan)) 
    { 
        $objWriter->startElement('w:gridSpan'); 
        $objWriter->writeAttribute('w:val', $gridSpan); 
        $objWriter->endElement(); 
    }
    /** edited by www.phpddt.com */
493333王中王开奖结果,    $vMerge = $style->getVMerge(); 
    if(!is_null($vMerge)) 
    { 
        $objWriter->startElement('w:vMerge'); 
        $objWriter->writeAttribute('w:val', $vMerge); 
        $objWriter->endElement(); 
    }

b.配置本地环境,将配置新域名根目录指向一个新的目录,关于php域名配置,网上教程很多,在此不多赘述

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

c.解压a中下载的文件包,将解压之后的PHPWord文件夹和PHPWord.php放在b中文件夹中

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');

d.新建php文件,引入PHPWord.php,并new PHPWord类

 生成的word效果如下截图:

require_once 'PHPWord.php';

$PHPWord = new PHPWord();

493333王中王开奖结果 2

2.PHPWord不支持中文字体

PHPWord colspan的使用:
            $table->addRow();
            $styleCell=array('gridSpan' => 2);
            $table->addCell(200, $styleCell)->addText('PHP二次开发');
            $table->addCell(100)->addText('http://www.111cn.net');
            $table->addRow();
            $table->addCell(100)->addText('PHP');
            $table->addCell(100)->addText('python');
            $table->addCell(100)->addText('java');
            $section->addTextBreak(10);

打开文件/PHPWord/Writer/Word2007/Base.php,找到函数 _writeTextStyle,大概在347行,添加代码如下:

生成word效果图如下:

if(!is_null($underline) && $underline != 'none') {

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

  $objWriter->writeAttribute('w:val', $underline);

  $objWriter->writeAttribute('w:eastAsia', $font);

  $objWriter->writeAttribute('w:ascii', $font);

  $objWriter->writeAttribute('w:hAnsi', $font);

  $objWriter->writeAttribute('w:cs', $font);

  $objWriter->endElement();

}

493333王中王开奖结果 3psps6s.png" />

3.用模板word生成word中文乱码

打开文件/PHPWord/Template.php,大概在89行找到函数setValue,网上好多说法是将

$replace = utf8_encode($replace);

改为:

本文由493333王中王开奖结果发布于网络频道,转载请注明出处:PHPWord:生成word的php类库相关问题总结

关键词: