进入正题:本流程是基于window环境下。

一、安装composer:Download Compser


点击Composer-Setup.exe之后按照流程安装就行,安装路径自己定义。
可能会出现安装报错,绝大部分原因是因为没有开启openssl配置。
我们打开 php 目录下的 php.ini,将 extension=php_openssl.dll 前面的分号去掉就可以了。

二、安装完成后,在cmd命令窗口或者powershell中输入composer -V指令查看composer安装是否成功。


然后最重要的就是将Packagist改为国内镜像了,因为这个composer软件是国外的,所以可能有些功能会被限制不能使用,在cmd命令窗口或者powershell中输入
composer config -g repo.packagist composer https://packagist.phpcomposer.com

三、项目中composer的使用:

我们需要先在项目的目录下创建一个 composer.json 文件,文件描述了项目的依赖关系。
json文件中写入:

{"require": {"monolog/monolog": "1.2.*"}
}

然后开启cmd命令控制中心或者powershell,将路径改为我们计算机中存储项目的路径,运行composer install,这下子我们项目中需要的依赖包就安装完了。

四、引入第三方库phpoffice/phpword。

这个库可以直接手写编辑word文件输出的样式,也可以导入word模板,然后替换里面需要变更的变量。(但是word模板的格式必须是docx后缀的,至于为什么doc的不行,看过源码后我觉得是可以的,可能是自己偷懒不想去找doc的方法,但是生成的word文件是可以为doc或者docx格式的)。
同样的在计算机中存储项目的路径下运行cmd命令控制中心或者powershell。输入composer require phpoffice/phpword,然后这个三方库就已经自动安装成功了,接下来就是去写代码了。

五、引入word模板并生成word文件。

我们需要将word模板中需要替换的变量改为${name}的形式,${}中的名字随便改。只是用来做变量替换的媒介。

 require_once . "/vendor/autoload.php";//这是composer自动生成的autoload.php文件,是需要手动导入的。$phpWord = new PhpOffice\PhpWord\PhpWord();$tmp = $phpWord -> loadTemplate("/xxx.docx");//这里指加载的word模板文件的路径,文件最好放在项目的包下面$tmp -> setValue('name', 'JerryKit');//其中前者name就是${}中的名字,后者为你想要替换的值$arr = array('a', 'b', 'c');//列如你想表格行随着你的值不断自增$rows = count($arr);//计算数组的长度$tmp -> cloneRow('name',$rows);//以name作为表格行的第一个元素,进行克隆行for ($i=0; $i < $rows; $i++) { $tmp -> setValue("name#" . ($i + 1), $arr[i]);//按照顺序自动生成行,#不能少}//有俩种方式生成word文件$tmpfile = $tmp->saveAs('/xxxxxxx.docx');//这边指生成到指定路径,并且取名为xxxxxxx。不需要执行下面的输出到控制台的代码。$tmpfile = $tmp->save();//暂存服务器,不指定路径。ob_start();$fp = fopen($tmpfile,"r");$file_size = filesize($tmpfile);$downFileName = "xxxxxxx.docx";header("Cache-Comtrol: public");header("Content-type: application/octet-stream");header("Accept-Ranges: bytes");header("Content-Disposition: attachment; filename={$downFileName}.docx");header("Pragma:no-cache");header("Expires:0");$buffer = 1024;$file_count = 0;while(!feof($fp) && $file_count < $file_size){$file_con = fread($fp,$buffer);$file_count += $buffer;        echo $file_con;}//将生成的word文件以二进制流输出到前端和控制台中ob_end_flush();fclose($fp);unlink($tmpfile);exit();

PHP如何引用word模板生成word文件相关推荐

  1. java 根据word模板生成word文件

    Java可以使用Apache POI库来生成Word文件,并且也可以使用freemarker等模板引擎来实现根据Word模板生成Word文件的功能. 下面是一个简单的示例代码,可以帮助您快速入门. 模 ...

  2. word模板生成word报表文档

    主要功能为根据word模板生成word报表文档,注意引用Interop.Word.dll; 首先要生成word程序对象 Word.Application app = new Word.Applicat ...

  3. C#根据word模板生成word表格报表文档

    主要功能为根据word模板生成word报表文档,注意引用Interop.Word.dll; 首先要生成word程序对象 Word.Application app = new Word.Applicat ...

  4. apache poi使用例_使用java Apache poi 根据word模板生成word报表例子

    [实例简介] 使用java Apache poi 根据word模板生成word报表 仅支持docx格式的word文件,大概是word2010及以后版本,doc格式不支持. 使用说明:https://b ...

  5. JAVA实现模板word文档导入,Java依据word模板生成word文档之后台解析和实现及部分代码(一)...

    Java根据word模板生成word文档之后台解析和实现及部分代码(一) 后台主要工作是解析XML定义的标签文件,并获取到数据集,放入到Map中,然后调用Jacob.jar中提供的相关方法来实现替换. ...

  6. 使用word模板生成word文档的各类方案

    使用word模板生成word文档的各类方案 生成word的各种方案 word另存xml进行后续处理 2003版本word(.doc)的xml处理并生成word 2007版本word(.docx)的xm ...

  7. 使用java Apache poi 根据word模板生成word报表

    使用java Apache poi 根据word模板生成word报表 使用poi读取word模板,替换word中的{text}标签,并根据自定义标签循环生成表格或表格中的行. 代码示例下载:https ...

  8. 根据word模板生成word和PDF

    根据word模板生成word和PDF 需求:有一个固定的合同模板,在vue前台填写指定的信息,替换合同模板指定的内容 我们使用的默认模板内容如图: 我们在前端填写的字段就是合同名称.项目名称和项目金额 ...

  9. PHP 使用word模板生成word文档示例

    <?php namespace Home\Controller; use PhpOffice\PhpWord\TemplateProcessor; use Think\Controller; c ...

  10. 根据word模板生成pdf文件

    1.首先建一个word,插入一个表格,需要填充的值用${parame}代替 (注意:这里的参数要和java实体类里面的参数对应起来,代码放在下面) 2.制作完成后另存为xml格式 3.然后用文本编辑工 ...

最新文章

  1. MySQL 错误代码和消息
  2. 邁向IT專家成功之路的三十則鐵律 鐵律十四:IT人言談之道-守中
  3. tencent intern learning
  4. Linux Boot,Kernel 和 Service 介绍
  5. Spring Boot----Dubbo原理分析
  6. https被修改成http排查过程
  7. 何时创建MVC应用程序
  8. Glut 回调函数小结
  9. namenode节点无法启动解决方法
  10. cr2格式缩略图不显示,怎么把raw格式显示出缩略图
  11. Arduino教程2:如何下载使用Arduino IDE?(附下载地址)
  12. zzulioj 1038 python 绝对值最大
  13. ICMP增强型snort规则
  14. mysql front连接_如何成功用MySQL-Front连接MySQL?
  15. Android 7.0应用冷启动流程分析
  16. 台式计算机usb口不识别鼠标,电脑USB接口不能识别鼠标键盘怎么办
  17. 虚拟机opnsense作为dhcp服务器,ESXI 与 OPNSense 配合
  18. ae合成设置快捷键_AE设计首选快捷键大全+解析
  19. 油藏弹性存储量计算公式_各类油藏采收率计算公式
  20. Mac 配置远程服务器 - 免密登陆

热门文章

  1. 【读书笔记】iOS-iOS6 Passbook应用开发
  2. 俞敏洪,马云,牛根生经典语录
  3. fastjson,请注意大小写
  4. JavaScript入门基础知识
  5. 计算机监控远动功能,变电站计算机监控系统的主要功能
  6. win7家庭版升级成旗舰版
  7. 2020年高压电工考试题库及高压电工考试软件
  8. 软工结对编程之二——UI设计(10061191洪虹10061162刘俊伟)
  9. 邮件服务器配置错误Unknown SMTP host:
  10. Java项目:SSM农产品朔源管理系统