PHP(4):PHP操作WORD文件
准备将合同招标文件管理程序从C/S迁移到B/S,后台打算使用PHP来完成,主要的技术点之一是PHP对WORD文件的操作,比如操作Word的书签,或者指定模板文件来替换里面的内容,早上就在网上寻找可以操作的类库。
今天比较顺利,找了两个类库都可以,不需要安装,直接拷贝到具体的目录下即可使用,但是第一个只是安装mht方式来生成文件,然后存储为Word文件,不符合我的要求。
第二个则是指定替换的格式,比如template.docx文件内有
${name}${city}${Street}
则下面的代码将替换其中的内容
<?phprequire_once 'bootstrap.php';
//$templateProcessor = new \PhpOffice\PhpWord\TemplateProcessor('template.docx');
$templateProcessor = new \PhpOffice\PhpWord\TemplateProcessor('Template.docx');
$templateProcessor->setValue('name', '这个是替换后的内容');
$templateProcessor->setValue(array('City', 'Street'), array('Detroit', '12th Street'));
$templateProcessor->saveAs('Sample_07_TemplateCloneRow.docx');?>
程序执行后自动替换相应的内容,当然,你也可以按自己的方式来指定替换样式。
下面的代码将生成Word文件并下载到客户端:
<?php
require_once 'bootstrap.php';
$phpWord = new \PhpOffice\PhpWord\PhpWord();
$section = $phpWord->createSection();
$section->addText('Hello World!');
$file = 'HelloWorld.docx';
header("Content-Description: File Transfer");
header('Content-Disposition: attachment; filename="' . $file . '"');
header('Content-Type: application/vnd.openxmlformats-officedocument.wordprocessingml.document');
header('Content-Transfer-Encoding: binary');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Expires: 0');
$xmlWriter = \PhpOffice\PhpWord\IOFactory::createWriter($phpWord, 'Word2007');
$xmlWriter->save("http://127.0.0.1/HTAPP/PHPOffice/");
?>
为这些生产高质量代码(基础类库)的作者点赞,他们是真正的无名英雄!我们都是站在他们的肩膀上来做事情了。
我将该类库已经上传了,要使用的请下载。
PHP(4):PHP操作WORD文件相关推荐
- python入门教程2word-入门干货:Python操作Word文件经验分享
原标题:入门干货:Python操作Word文件经验分享 导读:Microsoft Word在当前使用中是占有巨大优势的文字处理器,这使得Word专用的档案格式Word 文件(.docx)成为事实上最通 ...
- Java操作word文件的工具选择
Java操作word文件的工具选择 使用Java语言,创建doc.docx.excel.pdf等文档,并对文档进行一系列操作. Spire.Doc for Java https://blog.csdn ...
- jacob.jar 操作word文件 添加水印、图片(附查阅Microsoft Office VBA参考文档方式)
jacob.jar 操作word文件 添加水印.图片 1.准备jacob.jar包和dll文件 将jacob.jar引入到工程, 64位: 将jacob-1.17-M2-x64.dll 放在C:\Wi ...
- docxtpl操作word文件
docxtpl操作word文件 模板word文件如下图: #首先创建模板word,<模板.docx>,在word中写入要替换的变量 from docxtpl import DocxTemp ...
- Python+Word:我已经使用“pip install docx”命令安装了扩展库docx,为什么无法运行书上的代码操作Word文件呢?
操作Word文件的扩展库名字叫python-docx,不是docx.另外要注意,扩展库python-docx只能操作Word 2007或更新版本的文档,不能处理Word 2003之前的文档.
- 入门干货:Python操作Word文件经验分享
导读:Microsoft Word在当前使用中是占有巨大优势的文字处理器,这使得Word专用的档案格式Word 文件(.docx)成为事实上最通用的标准. 在日常工作中,有些时候会有很多重复的工作,比 ...
- C# : 操作Word文件的API - (将C# source中的xml注释转换成word文档)
这篇博客将要讨论的是关于: 如何从C#的source以及注释, 生成一份Word格式的关于各个类,函数以及成员变量的说明文档. 他的大背景如下...... 最近的一个项目使用C#, 分N个模块, 在项 ...
- 应用程序操作word文件报“RPC服务器不可用,HRESULT:0x800706BA”
问题描述 应用程序在用户计算机中操作本地word文件时报错,错误消息为:"RPC服务器不可用,HRESULT:0x800706BA".报错后,用户无法正常打开处理后的word文 ...
- 不忘初心,能偷懒就偷懒:C#操作Word文件
换了一家公司,新单位的信息化建设仍然在路上.OA也正在建设中,目前项目发票报销等流程仍然是手工的,只能线下填单子.至于是电脑上填好打印出来还是直接空白模板打出来手写倒是不管,随意.疫情期间积压了太多项 ...
最新文章
- asp.net三种重定向方法的总结
- rust 案例_理解Rust的引用与借用
- 深入浅出根据函数调用过程谈栈回溯原理
- 解决win7的outlook打不开的问题
- Javascript 正则表达式对象
- 特斯拉员工入职3天就“偷”代码,悄悄备份6300多 Python 脚本
- 定义“移动互联网”的三篇文章
- 在IDEA创建JavaWeb项目
- Louvain社区划分算法及Java语言实现
- 微信支付(PC扫码支付和H5公众号支付)
- Matlab查看像素坐标
- Android 音频(一) _ 采样量化编码 AudioRecord 录制音频
- 【寒江雪】Go实现工厂模式
- c# - Owin Katana
- redhat8安装rpm提示package does not verify: no digest
- 个人笔记——PointNet初学
- Word文档如何进行拆分成多个文档?
- 倍控G30-J4125工控机开箱
- Mathematica-1: 导入txt数据绘图
- 算法导论例题——钢管切割
热门文章
- 第五章:3ds max UV展开和BP贴图绘制(上)
- 本以为大厂无望,结果陆续收到京东/滴滴/爱奇艺offer的我迷茫了
- 运维学python用不上_运维朋友们,别再问需不需要学 Python 了!
- 如何做AI开源项目?零基础到100star
- 使用screen恢复会话时出现There is no screen to be resumed matching错误解决办法
- 纷享销客订货通:B2B渠道管理专属的经销商订货平台
- Kaggle TMDB 票房预测挑战赛
- 微信公众平台 微接口 接口100 API100 接口大全
- python的胶水特性是怎样出来的_为什么说python是胶水语言
- 用示波器实现跳舞视频