一:安装phpword插件

composer require phpoffice/phpword

二:phpword使用

phpword的使用十分简单,根据github的教程即可实现,这里我来讲解一下生成word文档的两种方式

1:使用html模板生成word文档

//html模板信息

$html = '

111

'

$phpWord = new PhpWord();

$section = $phpWord->addSection();

\\PhpOffice\\PhpWord\\Shared\\Html::addHtml($section, $html, false, false);

$objWriter = \\PhpOffice\\PhpWord\\IOFactory::createWriter($phpWord, 'Word2007');

$filename = 'test.docx';

$objWriter->save($filename);

如上就可以将html模板信息生成word文档,如果你想要实现下载word文档

header('Content-Type: application/vnd.openxmlformats-officedocument.wordprocessingml.document');

header('Content-Disposition: attachment;filename="' . $title . '.docx"');

header('Cache-Control: max-age=0');

//html信息

$html = '

111

'

$phpWord = new PhpWord();

$section = $phpWord->addSection();

\\PhpOffice\\PhpWord\\Shared\\Html::addHtml($section, $html, false, false);

$objWriter = \\PhpOffice\\PhpWord\\IOFactory::createWriter($phpWord, 'Word2007');

$objWriter->save('php://output');

2:使用word模板生成word文档

(1)加载word模板

$templateProcessor = new TemplateProcessor('test.docx');

(2)给word模板变量赋值

如给定一个模板:

模板信息为:${name}

用户:${username}

给上面的模板的name和username变量赋值

$templateProcessor->setValue('name', 'word模板');

$templateProcessor->setValue('username', 'test');

我们还可以同时给多个变量同时赋值

$templateProcessor->setValues([

'name' => ''word模板,

'username' => 'test',

]);

(3):给变量赋值图像

如果想要将变量赋值为图片,可以使用setImageValue方法来设置图像

$templateProcessor->setImageValue('img', 'logo.png');

我们还可以给图像设置样式

$templateProcessor->setImageValue('img', [

'path' => 'logo.png',

'width' => 100,

'height' => 100,

'ratio' => false

]);

(3)给模板循环数次

word模板如下:

${block\_name}

Customer: ${customer\_name}

Address: ${customer\_address}

${/block\_name}

循环并赋值方法如下:

$replacements = array(

array('customer_name' => 'Batman', 'customer_address' => 'Gotham City'),

array('customer_name' => 'Superman', 'customer_address' => 'Metropolis'),

);

$templateProcessor->cloneBlock('block_name', 0, true, false, $replacements);

这时候生成的结果如下:

Customer: Batman

Address: Gotham City

Customer: Superman

Address: Metropolis

(4)给word模板克隆表格行

word表格模板如下:

| ${userId} | ${userName}    |

|           |----------------+

|           | ${userAddress} |

实现如下:

$values = [

['userId' => 1, 'userName' => 'Batman', 'userAddress' => 'Gotham City'],

['userId' => 2, 'userName' => 'Superman', 'userAddress' => 'Metropolis'],

];

$templateProcessor->cloneRowAndSetValues('userId', $values);

生成的结果如下:

| 1 | Batman      |

|    |------------+

|    | Gotham City|

| 2 | Superman    |

|   |-------------+

|   | Metropolis  |

(5)生成word文档并保存,使用saveAs方法实现

$templateProcessor->saveAs('test.docx');

根据如上就可以实现word模板生成word文档

php完美导出word,使用phpword插件实现word文档导出相关推荐

  1. vvv在线文档导出工具_胖观察在线协作文档导出之痛?主流协作文档导出评测

    随着在线协作文档类工具越来越流行,不少教师也尝试通过文档协作的方式来开启线上作业反馈.作文批改互评,师生可以通过微信.浏览器就能实现以前需要在电脑前才能完成的文档输入工作,而且多人协作还能避免传统文档 ...

  2. word插件php,php使用phpword插件生成word文档

    php使用phpword插件生成word文档 php使用phpword插件生成word文档,有需要的朋友可以参考参考. require_once '../libs/PHPWord/PHPWord.ph ...

  3. mysql导出表结构word文档_如何将Word文档导出为长图片格式

    如何对word文档转化成潮图片格式呢?给大家分享一下,将word文档转化成图片具体方法,对大家能有所帮助. 方法/步骤 1 首先,如果想将word文档转化成图片格式文档,我们可以直接用word程序来实 ...

  4. WordZ:Word终结者,基于Google API的文档自动化 电子合同发票流水账单线上集成方案

    WordZ: Word终结者, 基于Google API开发的文档自动化产品.可用于线上合同,发票,所有有关文档的业务流程.主要功能包含,创建,复制文档,填充变量,导出word,导出pdf等一系列优秀 ...

  5. swagger导出excel文档_将Swagger2文档导出为HTML或markdown等格式离线阅读

    网上有很多<使用swagger2构建API文档>的文章,该文档是一个在线文档,需要使用HTTP访问.但是在我们日常使用swagger接口文档的时候,有的时候需要接口文档离线访问,如将文档导 ...

  6. markdown引入代码_将Swagger2文档导出为HTML或markdown等格式离线阅读

    网上有很多<使用swagger2构建API文档>的文章,该文档是一个在线文档,需要使用HTTP访问.但是在我们日常使用swagger接口文档的时候,有的时候需要接口文档离线访问,如将文档导 ...

  7. word打开wps文件乱码_word文档打开是乱码解决方法

    上网搜索资料,好不容易下载一个心仪的文档,当我们再次打开这个文档时,发现Word文档却出现乱码,或者是已经损坏了的文档,这还怎么看呢?如果出现Word文档乱码这种情况,大家不要着急,现在分享word乱 ...

  8. Word中使用MathType批量调整文档公式的大小

    Word中使用MathType批量调整文档字母公式大小 背景:论文写作需要撰写大量的字母和数学公式,但是在协作撰写及内容中英文翻译过程中,字母和数学公式容易变形,因此Word中使用MathType批量 ...

  9. 关闭word后自动打开新的文档

    解决关闭word后自动打开新的文档 声明:此方法是学的别人的,写出来仅仅为了记录. 步骤:文件 → 选项 → 加载项 → 管理:com加载项 → 转到mysql for excel → 去掉勾勾 → ...

  10. PDF to Word Document Converter for Mac(PDF文档转换器)

    如何将pdf文件转换为word.PPT.html.jpg等文件?PDF to Word&Document Converter是一个PDF文档转换器,可让您快速将PDF文档转换为其他格式的文件. ...

最新文章

  1. 同花顺的数据格式总览(转帖)
  2. 二 Array 数组常用操作方法
  3. 图解设计模式(1) Iterator 模式
  4. python库和模块的区别_Python动态库模块的名称与文件名不同
  5. C++ TR1、TR2与boost的关系
  6. [2017.3.23]Miller-Rabin
  7. Vue008_ Vue实例生命周期
  8. mysql 重装,Windows系统中完全卸载MySQL数据库实现重装mysql
  9. 第二次裸辞_潜伏期_一些感想
  10. solaris如何启动ssh服务
  11. 华为机试HJ82:将真分数分解为埃及分数
  12. AOJ-776 马的走法 动态规划
  13. 如何实现Miracast多个设备同时连接投屏
  14. 安装Selenium+Firefox+Firepath+Firebug
  15. 利用树莓派为HP LaserJet 1020配置无线打印功能
  16. CGAL:Win10 + VS2017 编译 CGAL 5.2
  17. iOS 调用系统铃声及震动
  18. Elasticsearch 6.4 ingest-attachment对office文件IK分词器全文检索(1) HttpAPI使用
  19. FileDownload文件的下载
  20. oracle闪回ddl,Oracle闪回详解

热门文章

  1. c语言中char* 代表什么
  2. 在同一局域网连接其他电脑的MySQL数据库
  3. torrents.php怎么下载,PT站自动收藏免费种下载|PT Add Free Torrents To Bookmark脚本js插件_ - 极光下载站...
  4. [Kaldi] MFCC特征提取源码详解
  5. android局域网中的打印机,Android 浅谈同一局域网下使用WiFi连接打印机
  6. 如何升级Microsoft Edge浏览器
  7. QPS 与 TPS是什么
  8. 【CodeForces 1253B --- Silly Mistake】
  9. android程序卡死无响应,Android程序未响应(ANR)问题
  10. 等额本息房贷月供计算