PHPWord替换word模板内容时,存在表格,且不确定表格行数的处理方式
PHPWord替换word模板内容时,存在表格,且不确定表格行数的处理方式
想得到的目标表格
表格可能存在若干行,需要循环生成,插入到word模板中
word模板
实现过程
1、Composer安装 phpword
composer require phpoffice/phpword
2、实现代码
//模拟数据
$data = [['name'=>'name_1','model'=>'model_1','count'=>1,'address'=>'address_1''project'=>'project_1'],['name'=>'name_2','model'=>'model_2','count'=>2,'address'=>'address_2''project'=>'project_2'],['name'=>'name_3','model'=>'model_3','count'=>3,'address'=>'address_3''project'=>'project_3'],
];//命名空间引用
use PhpOffice\PhpWord\TemplateProcessor;//业务代码
$templateFile = '/www/wwwroot/word_template/test.docx';
$templateProcessor = new TemplateProcessor($templateFile);$line = count($data);//标记①
$templateProcessor->cloneRow('name',$line); //name 对应模板中的 ${name}中的name//生成 行
for($i=1;$i<=$line;$i++){$templateProcessor->setValue('name#'.$i, $data[$i]['name']);$templateProcessor->setValue('model#'.$i, $data[$i]['model']);$templateProcessor->setValue('count#'.$i, $data[$i]['count']);$templateProcessor->setValue('address#'.$i, $data[$i]['address']);$templateProcessor->setValue('project#'.$i, $data[$i]['project']);
}
setValue 中 带有 #号的原因是,标记① 运行后,模板会变为
所以,在模板替换时,需要带上 # 号
紧接上面的代码,继续
$datePath = '/uploads/tempfile/'.date('Y-m-d').'/';
$time = time();$path = '/www/wwwroor/web/public'.$datePath;if(!is_dir($path)) mkdir($path);$filePath = $path . time() . '.docx';$result = $templateProcessor->saveAs($filePath);
OK,完成,最终实现效果
PHPWord替换word模板内容时,存在表格,且不确定表格行数的处理方式相关推荐
- PHPWord 替换 Word文件内容
PHPWord 替换 Word文件内容 // 引入扩展 composer require phpoffice/phpword //模板内 默认的搜索模式宏 ${search-pattern}$form ...
- Laravel引入phpoffice/phpword替换Word文件内容
Laravel引入phpoffice/phpword替换Word文件内容 说明 安装 替换Word内容 源文件 转化后的文件 说明 PHPWord是一个用纯PHP编写的库,它提供了一组类 写入和读取不 ...
- 利用POI 技术动态替换word模板内容
项目中需要实现一个功能,动态替换给定模板里面的内容,生成word文档提供下载功能. 中间解决了问题有: 1.页眉的文档logo图片解决,刚开始的时候,HWPFDocument 对象无法读取图片对象(已 ...
- java poi替换word_利用POI 技术动态替换word模板内容
项目中需要实现一个功能,动态替换给定模板里面的内容,生成word文档提供下载功能. 中间解决了问题有: 1.页眉的文档logo图片解决,刚开始的时候,HWPFDocument 对象无法读取图片对象(已 ...
- POI不同版本替换Word模板时的问题
一.问题描述 通过POI,把Word中的占位符替换为实际的值,以生成复杂结构的业务报告. 在POI 3.9上,功能正常.由于某些原因升级到POI 3.10.1后,项目组反馈说Word模板出错,无法生成 ...
- java word模板替换多行_Java动态替换word模板的最佳实践
poi-tl 基于word的模板渲染(替换)组件 对docx格式的文档增加模板语法,增加渲染模板的方便性,目前支持对段落.页眉.页脚.表格的文本.图片.表单渲染. 对于word模板替换,我们不仅要考虑 ...
- Excel信息批量替换Word模板生成新文件
Python批量处理Excel文件信息替换Word模板 原由和思路 工具准备 1. 前期处理 1.1 数据处理 1.2 模板处理 2. 编写代码 2.1 使用Pycharm新建项目ExcelToWor ...
- java使用poi替换word模板
poi 操作word文档 0. 参考文档 感谢大萌音音's B站视频的分享, 如有不懂, 可以去看这个视频 1. poi 依赖 <dependency><groupId>org ...
- Java-POI替换Word模板文档中的变量,生成Word文档
第一步:在项目中导入POI的jar包,以及相关的jar包. 所需的jar包列表: 下载地址:http://download.csdn.net/download/qq_34908167/10046670 ...
最新文章
- C#的UInt64.MaxValue和C语言的0xffffffffffffffc5ull
- H. Fight Against Monsters
- 核函数的充要条件-Mercer定理的证明
- 五大常用算法:分治、动态规划、贪心、回溯、分支限界
- Web安全实践(6)web应用剖析之信息提炼
- hbase shell 入门
- 信息安全技术(黑客攻防) 入门
- 芭蕉河梯级水电站群监控系统
- 怎么获取计算机用户权限,Windows7怎么获取administrator权限?
- 王祥林 计算机专业英语答案,计算机专业英语 第3版 配套习题 作者 王祥林 陈静姣 模拟试题1.doc...
- 怎么学大数据?该从哪学起?
- 计算机课学生段密码,启课程学生端电脑版
- 通过Word或WLW离线发布CSDN博客
- ibm x服务器硬盘检测,IBM System x 服务器自带RAID1的故障恢复
- 【模型部署】NNI:剪枝和量化
- django框架之中间件
- 2-1暴力破解原理和测试流程
- 剑指offer面试题(11-20)——java实现
- rk3288 gpio操作
- Auto CAD2010下载地址及图文安装教程(带注册机)