php word组件使用方法,phpword使用笔记
phpword使用的人不多,国内相关文档也比较少,所以坑比较多。我在这里躺坑躺了一整天,记录一下以备后需。
1、使用phpword需要很多组件的支持,所以用composer来安装管理他
a、下载phpword,放到组件目录;
b、下载并且运行 Composer-Setup.exe,它将安装最新版本的 Composer ,并设置好系统的环境变量,因此你可以在任何目录下直接使用 composer 命令。(到环境变量检查下,是否配置环境变量,这样在任何目录都可以使用composer);
c、composer进入到phpword目录下composer install即可。
2、使用需要引入的文件
只需要引入phpword安装包目录下的bootstrap.php即可。
require_once 'inc/PHPWord-master/bootstrap.php';
3、使用中文报错。
比如:
InvalidArgumentException' with message 'Invalid style value: chineseCounting
Invalid style value: japaneseCounting
解决办法:
找到PhpWord\Style\NumberingLevel.php这个文件中的public function setFormat($value)方法
里面$enum数组中添加“chineseCounting”和“japaneseCounting“;
eg:
public function setFormat($value)
{
$enum = array('bullet', 'decimal', 'upperRoman', 'lowerRoman', 'upperLetter', 'lowerLetter', 'chineseCounting','japaneseCounting');
$this->format = $this->setEnumVal($value, $enum, $this->format);
return $this;
}
4、模板替换
很多时候,我们使用一个word模板,然后把里面要修改的部分设置为预定义标签,然后使用模板替换,就可以快速简便的生成想要的文档。
参考官方文档:http://phpword.readthedocs.io/en/latest/templates-processing.html
5、phpword内部循环输出内容
请参考官方文档,这里给个例子
require_once 'inc/PHPWord-master/bootstrap.php';//加载word组件支持
$wordmuban = $_SERVER['DOCUMENT_ROOT'].'/inc/word.docx';//模版文件目录
$templateProcessor = new \PhpOffice\PhpWord\TemplateProcessor($wordmuban);//加载文件模版创建新word文件
$templateProcessor->cloneRow('num', $sizenum);//复制循环的行,请参考官方文档
//复制循环的行后,之前模板中的标签会被自动编号“标签+#行数”
for($i=1;$i<=$sizenum;$i++){
$templateProcessor->setValue('num#'.$i, iconv("gbk","utf-8",$sizedata[$i-1]['num']));
$templateProcessor->setValue('type1#'.$i, iconv("gbk","utf-8",$sizedata[$i-1]['type1']));
$templateProcessor->setValue('type2#'.$i, iconv("gbk","utf-8",$sizedata[$i-1]['type2']));
$templateProcessor->setValue('level#'.$i, iconv("gbk","utf-8",$sizedata[$i-1]['level']));
$templateProcessor->setValue('areasize#'.$i, iconv("gbk","utf-8",$sizedata[$i-1]['areasize']));
$templateProcessor->setValue('price#'.$i, iconv("gbk","utf-8",$sizedata[$i-1]['price']));
$templateProcessor->setValue('amountprice#'.$i, iconv("gbk","utf-8",$sizedata[$i-1]['amountprice']));
}
//创建文件目录
if (!file_exists($dir)){
mkdir ($dir,0755,true);
}
$savefile = $templateProcessor->saveAs($filename);//保存文件
未完待续
遇到的问题与解决办法:
1、phpword错误提示'Could not close zip file XXX‘
问题原因:phpword的模板文件必须是docx,如果是doc的文档,必须把模板文件另存为docx,即可解决。
php word组件使用方法,phpword使用笔记相关推荐
- php word组件使用方法,快速解决PHP调用Word组件DCOM权限的问题讲解
下面小编就为大家分享一篇快速解决PHP调用Word组件DCOM权限的问题,具有很好的参考价值,希望对大家有所帮助.一起跟随小编过来看看吧 1. 首先必须要在电脑上安装 Office 2. window ...
- Vue学习(组件传参)-学习笔记
文章目录 Vue学习(组件传参)-学习笔记 父到子 子到父 父操作子-ref(类似于操作dom) 兄弟之间传参 Vue学习(组件传参)-学习笔记 父到子 Father:(index) <temp ...
- Excel.Application组件使用方法 matlab可以参考使用
Excel.Application组件使用方法,适合应用于使用EXCEL组件做WEB应用开发. 转自http://bbs.xtjc.com/thread-376095-1-1.html 定制模块行为 ...
- Excel.Application组件使用方法,适合应用于使用EXCEL组件做WEB应用开发。
Excel.Application组件使用方法,适合应用于使用EXCEL组件做WEB应用开发. 转自http://bbs.xtjc.com/thread-376095-1-1.html 定制模块行为 ...
- PDF转换word格式的方法总结
PDF转换word格式的方法总结 作者: 善用佳软 日期: 2009-12-09 分类: 1 文本办公, PDF 标签: PDF <全面接触PDF:最好用的PDF软件汇总>中主要介绍了pd ...
- word转html报错,word转html方法调研
word转html方法调研 最近有需求可能用到word转html,所以前期调研了一番,整理如下. 问题描述 在不明确问题的情况下谈解决方案是不明智的,所以先明确问题: 现在线下有一批word文档,后台 ...
- php word权限,快速解决PHP调用Word组件DCOM权限的问题
快速解决PHP调用Word组件DCOM权限的问题 1. 首先必须要在电脑上安装 Office 2. windows+r : 输入 dcomcnfg.exe 打开组件服务,然后双击 组件服务 ==> ...
- SVO中 Inverse Compositional Image Alignment方法的学习笔记
SVO中 Inverse Compositional Image Alignment方法的学习笔记 这篇文章 光流法简介 逆向光流法 结尾 这篇文章 在SVO系统中的"Relaxation ...
- Beyond Compare比较Word文件的方法
2019独角兽企业重金招聘Python工程师标准>>> office软件是我们在日常工作中常常会用到的,在使用过程中如果遇到了比较两个Word文件的差异的问题,这个时候往往会非常的耗 ...
最新文章
- 【蓝桥java】递归基础之39级台阶
- centos redhat 6+ openldap 初级介绍
- cpickle安装_Py之h5py:Python库之h5py库的简介、安装、使用方法详细攻略
- tldr一个精简的man手册替代品
- html 获得文本节点,JavaScript获取节点——获取文本节点
- 如何保证执行异步方法时不会遗漏 await 关键字
- WebApiClient的接口输入验证
- 树莓派使用STEP4:安装vim
- 史上最全的CSS hack方式一览(鉴)
- bzoj1113[Poi2008]海报PLA
- 解决Maven报错“Cannot resolve com.lowagie:itext:2.1.7.js7”
- 最新服务器主流硬盘,主流服务器的raid(磁盘阵列)配置
- 365天英语口语大全
- 【Day2.2】海边行宫忘忧宫——“爱与希望”之宫
- iOS -- 开源项目和库
- Scroller的使用
- 你怎样理解需求分析师_我真正理解心理咨询是如何起效的,是从我成为来访者的那一刻开始...
- 软件工程——软件总体设计
- python 桌面程序自动化测试_对Windows桌面应用程序进行UI自动化测试
- 三分钟入门大数据之用户画像标签的分类
热门文章
- Python爬虫利用18行代码爬取虎牙上百张小姐姐图片
- 【Linux系统】centos 停止维护有什么影响呢?
- 云课堂计算机课病毒及安全设置答案,智慧职教云课堂PC端
- 看过来!看过来!网络安全类的认证课程都在这里
- linux中文显示乱码情况解决
- android 仿qq发动态,Android opengl 实现动态贴纸(仿QQ的拍摄)
- Linux 学习路线图 #CSDN博文精选# #IT技术# #学习路线# #系统化学习#
- 鸟哥的私房菜 笔记备份
- 微信硬件平台wifi设备通信第一篇
- 【硬件和驱动相关】wifi设备没有工作 ubuntu18.0.4 无线网卡 intel 6 AX200