thinkphp按照模板样式替换内容导出word
场景:有一个模板文件,我们需要从后台导出一个结构和这个模板一模一样的word文档,只是每次导出word文档里的内容不一样。比如导出不同客户的承诺书时,不同的客户姓名,身份证号码等信息都不一样。这里我是用phpword实现的,过程如下。
一、先创建好word模板文件,格式为docx。如下图为模板文件。${name}为每次导出要替换的变量。将模板文件上传到“http://www.xxx.com/file/”目录下面。
二、利用composer安装phpword,在网站根目录下面运行命令“composer require phpoffice/phpword”,运行结束后,在“www.XXX.com/vendor/”目录下面就会生成一个文件夹“phpoffice”,里面包含“phpword”文件夹。
三、php代码。
<?php
namespace app\admin\controller;
use think\Controller;
use PhpOffice\PhpWord\PhpWord;
class Contract extends Controller{
public function downword(){
vendor('autoload.php');//注意引入"www.XXX.com/vendor/"下的这个文件
$tmp=new \