-
PHP创建word文档的方法(平台无关)
这篇文章主要介绍了PHP创建word文档的方法,结合实例形式分析了与平台无关的生成word文档的方法,非常简单实用,需要的朋友可以参考下。
本文实例讲述了PHP创建word文档的方法,分享给大家供大家参考,具体如下:
关于用PHP生成word,在网上找了很多资料,有调用COM组件生成的,有安装PHP扩展生成的,都不免麻烦,以下为比较简洁的一种方法,且可跨平台。
以下为详细代码:
class.word.php
- <?php
- class Word{
- function start(){
- ob_start(); //打开输出控制缓冲
- echo '<html xmlns:o="urn:schemas-microsoft-com:office:office"';
- echo 'xmlns:w="urn:schemas-microsoft-com:office:word"';
- echo 'xmlns="http://www.w3.org/TR/REC-html40">';
- }
- function save($path){
- echo "</html>";
- $data=ob_get_contents(); //返回输出缓冲区的内容
- ob_end_clean(); //清空缓冲区并关闭输出缓冲
- $this->writeFile($path,$data); //将缓冲区内容写入word
- }
- function writeFile($fn,$data){
- $fp=fopen($fn,"wb+");
- fwrite($fp,$data);
- fclose($fp);
- }
- }
index.php
- <?php
- include("class.word.php");
- $word=new Word();
- $word->start();
- //以下内容会保存在WORD文件中,可以使用HTML标签
- ?>
- <h1>直接用php创建word文档</h1>
- 作者:axgle
- <hr size=1>
- <p>如果你打开data.doc,看到了这里的介绍,则说明word文档创建成功了。
- <p>
- 不论是在什么操作系统下,使用本方法都可以直接用PHP生成word文档。绝对不是吹牛!
- 就算是没有安装word,也能够生成word文件。
- 当然了,生成的word文件可以用word,wps或者其他软件打开。
- <p>
- <b>使用方法:</b>
- <br>
- 首先用$word->start()表示要生成word文件了。
- 然后你可以输出任何的HTML代码,不论是从文件读过来再写到这里,
- 还是直接在这里输出HTML,都没有关系。
- <p>等你输出完毕后,用$word->save($path)方法,其中$path是你想
- 生成的word文件的名称(可以给出完整的路径).当你使用了$word->save()
- 方法后,这后面的任何输出都和word文件没有关系了,也就是说word的生成
- 工作就完成了。之后就和你平常使用php的方式一样拉。随便你输出什么东西,
- 都直接在浏览器里输出,而不会写到word里面去。
- <p>这是本人想到的一个很有意思的方法,它的实现方法出人意料的简单,并且避免
- 了对windows环境的依赖。
- <br>哈哈,很有意思吧?享受它吧!
- <hr size=1>
- <?php
- //以上内容会保存在WORD文件中
- $word->save("data.doc");//保存word并且结束.
- //以下内容正常输出在页面文件中
- header("Content-type:text/html;charset=utf-8");
- echo 'data.doc生成成功,请到目录下查看<br>';
- ?>
出处:http://www.phpfensi.com/php/20210722/17372.html
栏目列表
最新更新
nodejs爬虫
Python正则表达式完全指南
爬取豆瓣Top250图书数据
shp 地图文件批量添加字段
爬虫小试牛刀(爬取学校通知公告)
【python基础】函数-初识函数
【python基础】函数-返回值
HTTP请求:requests模块基础使用必知必会
Python初学者友好丨详解参数传递类型
如何有效管理爬虫流量?
SQL SERVER中递归
2个场景实例讲解GaussDB(DWS)基表统计信息估
常用的 SQL Server 关键字及其含义
动手分析SQL Server中的事务中使用的锁
openGauss内核分析:SQL by pass & 经典执行
一招教你如何高效批量导入与更新数据
天天写SQL,这些神奇的特性你知道吗?
openGauss内核分析:执行计划生成
[IM002]Navicat ODBC驱动器管理器 未发现数据
初入Sql Server 之 存储过程的简单使用
这是目前我见过最好的跨域解决方案!
减少回流与重绘
减少回流与重绘
如何使用KrpanoToolJS在浏览器切图
performance.now() 与 Date.now() 对比
一款纯 JS 实现的轻量化图片编辑器
关于开发 VS Code 插件遇到的 workbench.scm.
前端设计模式——观察者模式
前端设计模式——中介者模式
创建型-原型模式