准备将合同招标文件管理程序从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文件相关推荐

  1. python入门教程2word-入门干货:Python操作Word文件经验分享

    原标题:入门干货:Python操作Word文件经验分享 导读:Microsoft Word在当前使用中是占有巨大优势的文字处理器,这使得Word专用的档案格式Word 文件(.docx)成为事实上最通 ...

  2. Java操作word文件的工具选择

    Java操作word文件的工具选择 使用Java语言,创建doc.docx.excel.pdf等文档,并对文档进行一系列操作. Spire.Doc for Java https://blog.csdn ...

  3. jacob.jar 操作word文件 添加水印、图片(附查阅Microsoft Office VBA参考文档方式)

    jacob.jar 操作word文件 添加水印.图片 1.准备jacob.jar包和dll文件 将jacob.jar引入到工程, 64位: 将jacob-1.17-M2-x64.dll 放在C:\Wi ...

  4. docxtpl操作word文件

    docxtpl操作word文件 模板word文件如下图: #首先创建模板word,<模板.docx>,在word中写入要替换的变量 from docxtpl import DocxTemp ...

  5. Python+Word:我已经使用“pip install docx”命令安装了扩展库docx,为什么无法运行书上的代码操作Word文件呢?

    操作Word文件的扩展库名字叫python-docx,不是docx.另外要注意,扩展库python-docx只能操作Word 2007或更新版本的文档,不能处理Word 2003之前的文档.

  6. 入门干货:Python操作Word文件经验分享

    导读:Microsoft Word在当前使用中是占有巨大优势的文字处理器,这使得Word专用的档案格式Word 文件(.docx)成为事实上最通用的标准. 在日常工作中,有些时候会有很多重复的工作,比 ...

  7. C# : 操作Word文件的API - (将C# source中的xml注释转换成word文档)

    这篇博客将要讨论的是关于: 如何从C#的source以及注释, 生成一份Word格式的关于各个类,函数以及成员变量的说明文档. 他的大背景如下...... 最近的一个项目使用C#, 分N个模块, 在项 ...

  8. 应用程序操作word文件报“RPC服务器不可用,HRESULT:0x800706BA”

    问题描述   应用程序在用户计算机中操作本地word文件时报错,错误消息为:"RPC服务器不可用,HRESULT:0x800706BA".报错后,用户无法正常打开处理后的word文 ...

  9. 不忘初心,能偷懒就偷懒:C#操作Word文件

    换了一家公司,新单位的信息化建设仍然在路上.OA也正在建设中,目前项目发票报销等流程仍然是手工的,只能线下填单子.至于是电脑上填好打印出来还是直接空白模板打出来手写倒是不管,随意.疫情期间积压了太多项 ...

最新文章

  1. asp.net三种重定向方法的总结
  2. rust 案例_理解Rust的引用与借用
  3. 深入浅出根据函数调用过程谈栈回溯原理
  4. 解决win7的outlook打不开的问题
  5. Javascript 正则表达式对象
  6. 特斯拉员工入职3天就“偷”代码,悄悄备份6300多 Python 脚本
  7. 定义“移动互联网”的三篇文章
  8. 在IDEA创建JavaWeb项目
  9. Louvain社区划分算法及Java语言实现
  10. 微信支付(PC扫码支付和H5公众号支付)
  11. Matlab查看像素坐标
  12. Android 音频(一) _ 采样量化编码 AudioRecord 录制音频
  13. 【寒江雪】Go实现工厂模式
  14. c# - Owin Katana
  15. redhat8安装rpm提示package does not verify: no digest
  16. 个人笔记——PointNet初学
  17. Word文档如何进行拆分成多个文档?
  18. 倍控G30-J4125工控机开箱
  19. Mathematica-1: 导入txt数据绘图
  20. 算法导论例题——钢管切割

热门文章

  1. 第五章:3ds max UV展开和BP贴图绘制(上)
  2. 本以为大厂无望,结果陆续收到京东/滴滴/爱奇艺offer的我迷茫了
  3. 运维学python用不上_运维朋友们,别再问需不需要学 Python 了!
  4. 如何做AI开源项目?零基础到100star
  5. 使用screen恢复会话时出现There is no screen to be resumed matching错误解决办法
  6. 纷享销客订货通:B2B渠道管理专属的经销商订货平台
  7. Kaggle TMDB 票房预测挑战赛
  8. 微信公众平台 微接口 接口100 API100 接口大全
  9. python的胶水特性是怎样出来的_为什么说python是胶水语言
  10. 用示波器实现跳舞视频