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 相关文章推荐
第十一节 重载 [11]
Oct 09 PHP
PHP+javascript液晶时钟
Oct 09 PHP
php下实现在指定目录搜索指定类型文件的函数
Oct 03 PHP
PHP中register_globals参数为OFF和ON的区别(register_globals 使用详解)
Feb 05 PHP
php计算十二星座的函数代码
Aug 21 PHP
php中eval函数的危害与正确禁用方法
Jun 30 PHP
php中字符集转换iconv函数使用总结
Oct 11 PHP
php中smarty实现多模版网站的方法
Jun 11 PHP
Thinkphp实现短信验证注册功能
Oct 18 PHP
php中final关键字用法分析
Dec 07 PHP
PHP中soap用法示例【SoapServer服务端与SoapClient客户端编写】
Dec 25 PHP
PHP的重载使用魔术方法代码实例详解
Feb 26 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防盗链代码实例
2014/08/27 PHP
PHP实现的带超时功能get_headers函数
2015/02/10 PHP
PHP通过微信跳转的Code参数获取用户的openid(关键代码)
2016/07/06 PHP
PHP中的浅复制与深复制的实例详解
2017/10/26 PHP
Laravel框架实现的记录SQL日志功能示例
2018/06/19 PHP
PHP的mysqli_stat()函数讲解
2019/01/23 PHP
Prototype Object对象 学习
2009/07/12 Javascript
jQuery toggleClass应用实例(附效果图)
2014/04/06 Javascript
基于jquery实现一个滚动的分步注册向导-附源码
2015/08/26 Javascript
浅谈Koa服务限流方法实践
2017/10/23 Javascript
vue axios整合使用全攻略
2018/05/24 Javascript
详解滑动穿透(锁body)终极探索
2019/04/16 Javascript
JavaScript实现旋转木马轮播图
2020/03/16 Javascript
Vue v-for中的 input 或 select的值发生改变时触发事件操作
2020/08/31 Javascript
python翻译软件实现代码(使用google api完成)
2013/11/26 Python
手把手教你python实现SVM算法
2017/12/27 Python
Python将多个excel表格合并为一个表格
2021/02/22 Python
Python获取当前函数名称方法实例分享
2018/01/18 Python
对pandas中Series的map函数详解
2018/07/25 Python
python爱心表白 每天都是浪漫七夕!
2018/08/18 Python
Mac安装python3的方法步骤
2019/08/09 Python
python tornado使用流生成图片的例子
2019/11/18 Python
python批量修改xml属性的实现方式
2020/03/05 Python
Pycharm中切换pytorch的环境和配置的教程详解
2020/03/13 Python
Pyqt5 关于流式布局和滚动条的综合使用示例代码
2020/03/24 Python
Python sorted排序方法如何实现
2020/03/31 Python
如何理解python中数字列表
2020/05/29 Python
NARS化妆品官方商店:美国彩妆品牌
2017/08/26 全球购物
新员工欢迎词
2014/01/12 职场文书
违反课堂纪律检讨书
2014/01/19 职场文书
医学专业职业生涯规划范文
2014/02/05 职场文书
小学班长竞选演讲稿
2014/04/24 职场文书
坚守艰苦奋斗精神坚决反对享乐主义整改措施
2014/09/17 职场文书
2014年办公室文秘工作总结
2014/12/09 职场文书
学生病假条怎么写
2015/08/17 职场文书
Python学习之包与模块详解
2022/03/19 Python