PhpWord的一些简单用法

因为最近项目需要一个生成Word文档的功能,开始折腾起来,找到PhoWord这个类库,PhpWord是一个可以用PHP生成word的类库,用composer安装就可以用了。 PhpWord文档,想实现更多功能的同学可以仔细参考文档 https://phpword.readthedocs.io/en/latest/intro.html 使用环
 因为最近项目需要一个生成Word文档的功能,开始折腾起来,找到PhoWord这个类库,PhpWord是一个可以用PHP生成word的类库,用composer安装就可以用了。

PhpWord文档,想实现更多功能的同学可以仔细参考文档
https://phpword.readthedocs.io/en/latest/intro.html

使用环境
目前是在ThinkPHP5.0.21中使用的PhpWord,其他使用环境引入方式可能会有一点不同。
使用composer安装,直接使用下面的代码引入相关类库

安装
  1、打开命令行进入项目根目录执行下面命令
  2、composer require phpoffice/phpword

使用模式
  1、直接使用代码编写word文档
  2、读取原有word模板,替换相关变量

模板生成Word
  使用场景:适合有一套固定的模板,只有几个关键的地方需要改变。
  使用方式:下面介绍几行代码就足够完成整个word的替换了,需要更多功能参考文档。
    //模板的路径,word的版本最好是docx,要不然可能会读取不了,根据自己的模板位置调整
    $path = 'public/letters/templates/word/letter1.docx';
    //生成word路径,根据自己的目录调整
    $filePath= 'public/letters/word/letter1.docx';
    //声明一个模板对象、读取模板
    $templateProcessor = new \PhpOffice\PhpWord\TemplateProcessor($path);
    //替换模板中的变量,对应word里的 ${test}
    $test ="这是替换的内容";
    $templateProcessor->setValue('test',$test);//传真
    //生成新的word
    $templateProcessor->saveAs($filePath);
代码编写Word
  使用场景:需要更加灵活的生成Word
  语法介绍:介绍一些常用的、需要的功能,多余的也不介绍了,来些直观的才是重要的,需要更多功能参考文档。
  //声明一个phpword对象
    $phpWord = new \PhpOffice\PhpWord\PhpWord();
    //声明一个页面,用来存放页面的内容,相当于一个容器
    $section = $phpWord->addSection();
    //添加一个段落文字
    $section->addText('This is text');
    //声明普通文字,不同段落文字,可以在后面追加文字
    $textrun = $section->addTextRun();
    //添加文字
    $textrun->addText('This ');
    //再上面内容的后面追加文字
    $textrun->addText('is'); 
    //文字换行,参数可以控制换行的行数
    $textrun->addTextBreak(1);
    //段落文字换行,参数可以控制换行的行数
    $section->addTextBreak(1);
    //文字样式,可以指定许多样式,具体可以参考文档字体样式
    $textrun->addText('测试',array('size'=>18,'bold'=>true,'name'=>'宋体'));
    //可以定义一个数组传进去,本质都是一个数组
    $fontStyle['size']=12;
    $fontStyle['bold']=true;
    $textrun->addText('测试',$fontStyle);
    //生成Word文档
    $filePath= 'public/letters/word/letter1.docx';
    $objWriter = \PhpOffice\PhpWord\IOFactory::createWriter($phpWord, 'Word2007');
    $objWriter->save($filePath);

PS:
  1、Phpword虽然可以用代码生成word,但对于一些文字图片的定位操控起来非常麻烦,甚至无法控制。
  2、尽量使用模板,直接改动模板更加方便,只替换一些关键字就好。
  3、使用模板的时候要注意word格式要是docx,使用doc可能会报错。

结语
  以上是自己这几天使用Phpword小小心得,希望大家少走弯路吧,也给自己以后再使用时可以温习下,如有不正确之处,还望指出。
本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

本文中的所使用的环境如下 php版本:php7.4 phpword版本:0.18.3 安装: composer require phpoffice/phpword 1、使用模式一: 模板生成word 使用场景: 适合有一套固定的world文档模板,只有几个关键的地方需要改变 使用方式: 下面介绍几行代码就足够完成整
一、composer安装phpWord composer require phpoffice/phpword 传送门:https://packagist.org/packages/phpoffice/phpword 二、phpWord 读取 docx 文档(注意是docx格式,doc格式不行) 如果你还没配置自动加载,则先配置一下,具体php代码如下: require './vendor/autoload.php';//加载
PHP使用phpword替换模板内容,不多说,直接上代码 /** * @param $param * @throws \PhpOffice\PhpWord\Exception\CopyFileException * @throws \PhpOffice\PhpWord\Exception\CreateTemporaryFileException * 生成教学word */ public function testDataToWord($param){ $data = json_decode(ExcelTo
本篇文章主要介绍如何利用PHP将word文档转html和pdf,感兴趣的朋友参考下,希望对大家有所帮助。 一 : 使用phpword生成word文档,具体步骤如下: 通过composer安装PHPword,composer require phpoffice\phpword;使用方法: //设置默认样式$phpWord-setDefaultFontName
php将word转换为html格式代码分析 PHP将上传word文件,转化为Html格式,(多种转换方式) 1.通过PHPOffice 1: composer require phpoffice/phpword /* 通过composer安装 PHPOffice 需要科学上网 或者用中国镜像:https://www.phpcomposer.com/ */ 2: 安装成功可看到 vendor文件夹 3: 使用方法