时间:2020-12-17 09:10:26
使用phpword生成文档有两种方式
-
直接使用代码编写word文档,用代码生成word,但是设置样式,格式,图片非常麻烦,不建议使用。如果客户或产品提供一份word的样式,我们也难以完全复原,调样式很头疼的。
-
读取原有word模板,替换相关变量。个人感觉这种方式能满足绝大部分需求,实现起来也比较简单,所有的样式,格式直接在word模板里设置好,替换变量就可以了,还可以很方便的切换模板。本文主要介绍这种方式,毕竟我们是为了快速实现客户的需求,让客户提供一份word模板,我们稍微一改就可以了。
开始干活
1,通过composer安装phpword包
composer require phpoffice/phpword
2,准备一个word模板(让客户或产品提供吧,docx格式的)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
|
有时我们需要有“陈列奖励”数据时就显示没有时就不显示,此里需要用到块标签了与html类似
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
|
替换图片
1 2 3 4 5 6 |
|
一些常用的word符号
换行符 <w:br/>
分页符 <w:br w:type="page"/>
制表符 <w:tab/>
html预留字符要替换为实体字符,如&要替换为&
,可以使用htmlspecialchars()
使用方式
比如我们数据库存的换行符一般是 \n\r 这个在word中是无效的,要替换为 <w:br/> 才行
1 2 |
|