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模板内容时,存在表格,且不确定表格行数的处理方式相关推荐

  1. PHPWord 替换 Word文件内容

    PHPWord 替换 Word文件内容 // 引入扩展 composer require phpoffice/phpword //模板内 默认的搜索模式宏 ${search-pattern}$form ...

  2. Laravel引入phpoffice/phpword替换Word文件内容

    Laravel引入phpoffice/phpword替换Word文件内容 说明 安装 替换Word内容 源文件 转化后的文件 说明 PHPWord是一个用纯PHP编写的库,它提供了一组类 写入和读取不 ...

  3. 利用POI 技术动态替换word模板内容

    项目中需要实现一个功能,动态替换给定模板里面的内容,生成word文档提供下载功能. 中间解决了问题有: 1.页眉的文档logo图片解决,刚开始的时候,HWPFDocument 对象无法读取图片对象(已 ...

  4. java poi替换word_利用POI 技术动态替换word模板内容

    项目中需要实现一个功能,动态替换给定模板里面的内容,生成word文档提供下载功能. 中间解决了问题有: 1.页眉的文档logo图片解决,刚开始的时候,HWPFDocument 对象无法读取图片对象(已 ...

  5. POI不同版本替换Word模板时的问题

    一.问题描述 通过POI,把Word中的占位符替换为实际的值,以生成复杂结构的业务报告. 在POI 3.9上,功能正常.由于某些原因升级到POI 3.10.1后,项目组反馈说Word模板出错,无法生成 ...

  6. java word模板替换多行_Java动态替换word模板的最佳实践

    poi-tl 基于word的模板渲染(替换)组件 对docx格式的文档增加模板语法,增加渲染模板的方便性,目前支持对段落.页眉.页脚.表格的文本.图片.表单渲染. 对于word模板替换,我们不仅要考虑 ...

  7. Excel信息批量替换Word模板生成新文件

    Python批量处理Excel文件信息替换Word模板 原由和思路 工具准备 1. 前期处理 1.1 数据处理 1.2 模板处理 2. 编写代码 2.1 使用Pycharm新建项目ExcelToWor ...

  8. java使用poi替换word模板

    poi 操作word文档 0. 参考文档 感谢大萌音音's B站视频的分享, 如有不懂, 可以去看这个视频 1. poi 依赖 <dependency><groupId>org ...

  9. Java-POI替换Word模板文档中的变量,生成Word文档

    第一步:在项目中导入POI的jar包,以及相关的jar包. 所需的jar包列表: 下载地址:http://download.csdn.net/download/qq_34908167/10046670 ...

最新文章

  1. C#的UInt64.MaxValue和C语言的0xffffffffffffffc5ull
  2. H. Fight Against Monsters
  3. 核函数的充要条件-Mercer定理的证明
  4. 五大常用算法:分治、动态规划、贪心、回溯、分支限界
  5. Web安全实践(6)web应用剖析之信息提炼
  6. hbase shell 入门
  7. 信息安全技术(黑客攻防) 入门
  8. 芭蕉河梯级水电站群监控系统
  9. 怎么获取计算机用户权限,Windows7怎么获取administrator权限?
  10. 王祥林 计算机专业英语答案,计算机专业英语 第3版 配套习题 作者 王祥林 陈静姣 模拟试题1.doc...
  11. 怎么学大数据?该从哪学起?
  12. 计算机课学生段密码,启课程学生端电脑版
  13. 通过Word或WLW离线发布CSDN博客
  14. ibm x服务器硬盘检测,IBM System x 服务器自带RAID1的故障恢复
  15. 【模型部署】NNI:剪枝和量化
  16. django框架之中间件
  17. 2-1暴力破解原理和测试流程
  18. 剑指offer面试题(11-20)——java实现
  19. rk3288 gpio操作
  20. Auto CAD2010下载地址及图文安装教程(带注册机)

热门文章

  1. dart-sass 和 node-sass 的区别
  2. ipsec VPN 技术介绍(基础篇一)
  3. 前后端及常用语言介绍
  4. 全面接入:ChatGPT杀进10个商业应用,让AI替你打工
  5. Open For Bussiness (HelloWorld)
  6. 双击进入共享计算机时提示无法访问错误(连接共享打印机)
  7. 微软出品:.net 微服务:容器化.net架构指南
  8. html中加减页码怎么设置,页码设置了1全是1
  9. 智慧路灯点亮新型城市
  10. echarts热力背景图_echarts自定义背景图片