php生成word文件
需求:
甲方爸爸说“我有一个word文件,里面是关于用户信息的表格,你帮我把系统里面所有用户数据都按照这个文件导出来给我“;
我当时就不乐意了,啪的一拍桌子站起来,愤愤的回了一句“好的,什么时候要”
百度查了一堆有的没有的,看起来都好麻烦的样子,于是决定走走捷(直接做字符替换)
本想着直接fread然后字符替换就完事的,结果读了一堆乱码。。。。
最终实现思路↓↓↓
写个接口实现完成这些操作吧
一、打开甲方爸爸给的word文件,另存为xml格式文件(左上角另存为,格式下拉选择xml)
二、格式化xml文件,百度上一堆在线格式化的网站~
三、找到 关键数据 替换成特殊字符串(一定要保证不会重复,比如 sb_jia_fang_XXX),然后直接根据不同数据进行替换保存即可。步骤三和四 按需 二选一
四、把xml文件中的关键数据换成 模板变量 比如TP框架的"{$sb}",多数js模板引擎的"{{sb}}",然后把用户数据传入变量渲染模板即可。
五、到这一步已经得到了一个用户2的表格的xml字符串,设置请求头部content-type,让本次请求返回文件下载,格式定为doc,然后输出该xml代码字符串,前台浏览器会提示下载文件,保存即可。
一句话概括:word转xml,xml关键数据修改,服务器设置请求头信息返回文件下载~~
php生成word文件相关推荐
- JSP生成word文件
1.jsp生成word文件,直接改动jsp格式: <%@ page contentType="application/vnd.ms-word;charset=GB2312"% ...
- Java技术:SpringBoot集成FreeMarker生成word文件
今天给大家分享SpringBoot集成FreeMarker模板引擎生成word文件的用法,感兴趣的可以学一下,完整源码地址在文章末尾处,欢迎互相沟通交流! 一.什么是F ...
- php如何生成本地文档,php如何生成word文件
php生成word文件的方法: 需求: 甲方爸爸说"我有一个word文件,里面是关于用户信息的表格,你帮我把系统里面所有用户数据都按照这个文件导出来给我": 我当时就不乐意了,啪的 ...
- Java使用iText生成word文件的完美解决方案(亲测可行)
JAVA生成WORD文件的方法目前有以下种: 一种是jacob 但是局限于windows平台 往往许多JAVA程序运行于其他操作系统 在此不讨论该方案 一种是pio但是他的excel处理很程序 wor ...
- Java使用iText生成word文件的解决方案
JAVA生成WORD文件的方法目前有以下种: 一种是jacob 但是局限于windows平台 往往许多JAVA程序运行于其他操作系统 在此不讨论该方案 一种是pio但是他的excel处理很程序 wor ...
- java itext word_Java使用iText生成word文件的解决方案 | 学步园
转自[http://www.31km.cn/post/450.html] JAVA生成WORD文件的方法目前有以下种: 一种是jacob 但是局限于windows平台 往往许多JAVA程序运行于其他操 ...
- PHP导出word【 直接生成word文件 】
使用composer安装PHPword: composer require phpoffice/phpword 直接生成word文件: public function makePhpWord(){ ...
- Python 自动化教程(5) : 自动生成Word文件
系列教程: Python 自动化教程(1) 概述,第一篇 Excel自动化 Python 自动化教程(2) : Excel自动化:使用pandas库 Python 自动化教程(3) : 自动生成PPT ...
- Freemark生成Word文件的加密处理
Word文件加密处理 Word文件的加密处理 具体实现 Word文件的加密处理 最近完成了一个使用freemark生成文档的需求.本次实现使用的是freemark模板技术. 具体实现 首先使用wps或 ...
- 艺赛旗(PRA)根据制式模板批量生成 word 文件
艺赛旗 RPA8.0全新首发免费下载 点击下载 http://www.i-search.com.cn/index.html?from=line1 请看程序运行过程: 操作 word 其实是一件很痛苦的 ...
最新文章
- java dagger2_从零开始搭建一个项目(rxJava+Retrofit+Dagger2) ---上
- 数据科学之基石:数据科学家必须掌握的10个统计学概念
- 内存分配函数 ExAllocatePool ExAllocatePoolWithTag
- linux语言换成英语,把Linux的默认语言改为英语
- InfoQ —— 腾讯游戏大数据服务场景与应用
- Java中什么是匿名对象,空参构造方法输出创建了几个匿名对象,属性声明成static...
- vant 项目_vueCli4+vant+router+vuex+移动端适配
- windows下ping命令的结果前加上系统的当前时间
- Matlab二进制文件的读写
- python文件操作基础(复习)
- PostgreSQL视图使用特殊名称作字段时的处理
- 使用switch常量c语言,c语言switch(c语言switch语句用法)
- Unity中,区别LookAt与LookRotation
- 安装驱动显卡重启计算机,Win7电脑安装显卡驱动后一直重启的解决方法
- H2数据库中的数据类型
- 基于JAVAWeb前端开发技术儿童教育网站计算机毕业设计源码+数据库+lw文档+系统+部署
- 2018CVTE后台研发工程师内推笔试编程题2
- C#,SOAP1.1与1.2的发布与禁用(SOAP 1.2 in .NET Framework 2.0)
- Kafka 生产者数据安全(ACK机制,ACK时机,ACK应答机制,故障处理,Exactly Once)
- Kaldi单音子建模
热门文章
- 【Shader进阶】Shader的Lod
- sql java web动态曲线图_使用Echarts实现动态曲线图表
- Freeswitch 常用命令
- 计算机英语it英语,计算机英语 IT专业英语词典 11
- 第三方账号登陆-sina微博_PC篇
- 【LOJ3124】「CTS2019」氪金手游
- 文智背后的奥秘系列篇——情感分类
- 【Vue】基础系列(八)数据绑定以及姓名案例的三种写法
- ffmpeg Intel硬件加速总结
- 解决微信小程序RangeError: WebAssembly.instantiate(): Out of memory: wasm memory内存不足问题