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 相关文章推荐
资料注册后发信小技巧
Oct 09 PHP
10条PHP编程习惯助你找工作
Sep 29 PHP
php 团购折扣计算公式
Nov 24 PHP
php学习笔记之面向对象编程
Dec 29 PHP
探讨如何把session存入数据库
Jun 07 PHP
php的array数组和使用实例简明教程(容易理解)
Mar 20 PHP
PHP生成迅雷、快车、旋风等软件的下载链接代码实例
May 12 PHP
Codeigniter实现智能裁剪图片的方法
Jun 12 PHP
PHP对文件进行加锁、解锁实例
Jan 23 PHP
Yii清理缓存的方法
Jan 06 PHP
PHP策略模式定义与用法示例
Jul 27 PHP
Laravel 简单实现Ajax滚动加载示例
Oct 22 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定时执行计划任务的多种方法小结
2011/12/19 PHP
php explode函数实例代码
2012/02/27 PHP
PHP关联数组实现根据元素值删除元素的方法
2015/06/26 PHP
PHP执行系统命令函数实例讲解
2021/03/03 PHP
JavaScript 轻松搞定快捷留言功能 只需一行代码
2010/04/01 Javascript
30个精美的jQuery幻灯片效果插件和教程
2011/08/23 Javascript
jQuery中的编程范式详解
2014/12/15 Javascript
JS实现点击复选框将按钮或文本框变为灰色不可用的方法
2015/08/11 Javascript
学习JavaScript设计模式(单例模式)
2015/11/26 Javascript
基于jquery实现图片相关操作(重绘、获取尺寸、调整大小、缩放)
2015/12/25 Javascript
Angularjs中UI Router全攻略
2016/01/29 Javascript
js css+html实现简单的日历
2016/07/14 Javascript
Angular使用Restful的增删改
2018/12/28 Javascript
优雅的处理vue项目异常实战记录
2019/06/05 Javascript
浅谈一个webpack构建速度优化误区
2019/06/24 Javascript
Layui 动态禁止select下拉的例子
2019/09/03 Javascript
vue实现倒计时获取验证码效果
2020/04/17 Javascript
javascript+Canvas实现画板功能
2020/06/23 Javascript
Python中zip()函数用法实例教程
2014/07/31 Python
Python实现KNN邻近算法
2021/01/28 Python
在Pycharm中设置默认自动换行的方法
2019/01/16 Python
基于多进程中APScheduler重复运行的解决方法
2019/07/22 Python
Pytorch 多块GPU的使用详解
2019/12/31 Python
Python爬虫之Selenium中frame/iframe表单嵌套页面
2020/12/04 Python
老海军美国官网:Old Navy
2016/09/05 全球购物
印度最大的旅游网站:MakeMyTrip
2016/10/05 全球购物
39美元购买一副眼镜或太阳镜:39DollarGlasses.com
2018/06/17 全球购物
英国Boots旗下太阳镜网站:Boots Designer Sunglasses
2018/07/07 全球购物
美国转售二手商品的电子商务平台:BLINQ
2018/12/13 全球购物
活动邀请函范文
2014/01/19 职场文书
出纳工作岗位责任制
2014/02/02 职场文书
质量安全标语
2014/06/07 职场文书
公共场所禁烟倡议书
2014/08/30 职场文书
合作经营协议书范本
2014/09/16 职场文书
公诉意见书范文
2015/06/05 职场文书
一文帮你理解PReact10.5.13源码
2021/04/03 Javascript