phpword 實現word文件模板字符替換


最近公司有一個需求,是要給一個文件根據表格位置等自動填充內容,類似這樣

 

 

紅框內是要替換的內容,所以就需要用到PHPword的模板替換功能,具體實現很簡單,如下:

一、首先composer安裝PHPword,就不多說了

 

二、然后是把模板中要替換的部分用變量代替,我這里因為是測試,所以變量名是隨便起的

 

提前在文檔中設置好變量的格式,替換后文本的格式就會和之前變量的格式一樣

 

三、接下來就是把原始的模板文件放入項目目錄,我是自己用tp框架測的,所以就放在了public/static/目錄下

 

三、然后就是代碼了

 

<?php
namespace app\index\controller;
//引入TemplateProcessor
use PhpOffice\PhpWord\TemplateProcessor; class Index { public function index() {
     //實例化, 參數傳入模板文件地址
$templateProcessor = new TemplateProcessor('static/jianding.docx');

     //替換(設置)變量值,我在測試的時候替換的字符比較長,這里縮短了
$templateProcessor->setValue('ketiname','測試題目'); $templateProcessor->setValue('ketifuzeren','測試題目'); $templateProcessor->setValue('suozaidanwei','測試題目'); $templateProcessor->setValue('tianbiaoriqi','測試題目');
     //保存文件
$templateProcessor->saveAs('static/jianding1.docx'); } }

 

四、該方法執行以后,文檔中變量就被替換了

至於后面的下載功能,那就是另外的部分了

至此,完成。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM