PHP创建word文档的方法(平台无关)


Posted in PHP onMarch 29, 2016

本文实例讲述了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>';
?>

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
PHP 反射机制实现动态代理的代码
Oct 22 PHP
基于PHP Web开发MVC框架的Smarty使用说明
Apr 19 PHP
ThinkPHP之N方法实例详解
Jun 20 PHP
php实现的CSS更新类实例
Sep 22 PHP
新浪SAE搭建PHP项目教程
Jan 28 PHP
php实现图片转换成ASCII码的方法
Apr 03 PHP
php实现猴子选大王问题算法实例
Apr 20 PHP
php基础教程
Aug 26 PHP
学习php设计模式 php实现单例模式(singleton)
Dec 07 PHP
利用ajax和PHP实现简单的流程管理
Mar 23 PHP
laravel-admin 在列表页添加自定义按钮的例子
Sep 30 PHP
PHP 出现 http500 错误的解决方法
Mar 09 PHP
PHP中key和current,next的联合运用实例分析
Mar 29 #PHP
CodeIgniter基于Email类发邮件的方法
Mar 29 #PHP
PHP中抽象类、接口的区别与选择分析
Mar 29 #PHP
php实现图片缩略图的方法
Mar 29 #PHP
YII动态模型(动态表名)支持分析
Mar 29 #PHP
Yii操作数据库实现动态获取表名的方法
Mar 29 #PHP
Yii数据库缓存实例分析
Mar 29 #PHP
You might like
PHP调用Webservice实例代码
2011/07/29 PHP
php并发对MYSQL造成压力的解决方法
2013/02/21 PHP
微信公众号点击菜单即可打开并登录微站的实现方法
2014/11/14 PHP
php+MySQL实现登录时验证登录名和密码是否正确
2016/05/10 PHP
PHP实现支付宝即时到账功能
2016/12/21 PHP
基于swoole实现多人聊天室
2018/06/14 PHP
PHP实现字母数字混合验证码功能
2019/07/11 PHP
js实现网页自动刷新可制作节日倒计时效果
2014/05/27 Javascript
js使用removeChild方法动态删除div元素
2014/08/01 Javascript
JavaScript基本语法学习教程
2016/01/14 Javascript
深入理解javascript作用域第二篇之词法作用域和动态作用域
2016/07/24 Javascript
Javascript this 函数深入详解
2016/12/13 Javascript
微信小程序出现wx.navigateTo页面不跳转问题的解决方法
2017/12/26 Javascript
微信小程序版翻牌小游戏
2018/01/26 Javascript
Vue 处理表单input单行文本框的实例代码
2019/05/09 Javascript
小程序scroll-view安卓机隐藏横向滚动条的实现详解
2019/05/16 Javascript
vue使用localStorage保存登录信息 适用于移动端、PC端
2019/05/27 Javascript
Vue中util的工具函数实例详解
2019/07/08 Javascript
layui实现数据表格点击搜索功能
2020/03/26 Javascript
python二分法实现实例
2013/11/21 Python
Python实现二维数组按照某行或列排序的方法【numpy lexsort】
2017/09/22 Python
DataFrame中的object转换成float的方法
2018/04/10 Python
django admin 后台实现三级联动的示例代码
2018/06/22 Python
python实现文件批量编码转换及注意事项
2019/10/14 Python
python GUI库图形界面开发之PyQt5简单绘图板实例与代码分析
2020/03/08 Python
python使用布隆过滤器的实现示例
2020/08/20 Python
刚毕业大学生自荐信范文
2014/02/20 职场文书
党员四风问题对照检查材料思想汇报
2014/09/16 职场文书
2014年无财产无子女离婚协议书范本
2014/10/09 职场文书
会计工作岗位职责
2015/02/03 职场文书
护林员个人总结
2015/03/04 职场文书
2015年党风廉政建设目标责任书
2015/05/08 职场文书
在人间读书笔记
2015/06/30 职场文书
2016年最美孝心少年事迹材料
2016/02/26 职场文书
成本低的5个创业项目:投资小、赚钱快
2019/08/20 职场文书
MySQL中order by的使用详情
2021/11/17 MySQL