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 开源AJAX框架14种
Aug 24 PHP
php 显示指定路径下的图片
Oct 29 PHP
PHP无刷新上传文件实现代码
Sep 19 PHP
那些年一起学习的PHP(一)
Mar 21 PHP
curl实现站外采集的方法和技巧
Jan 31 PHP
一个基于phpQuery的php通用采集类分享
Apr 09 PHP
PHP实现获取客户端IP并获取IP信息
Mar 17 PHP
php简单生成随机数的方法
Jul 30 PHP
PHP中empty和isset对于参数结构的判断及empty()和isset()的区别
Nov 15 PHP
php制作的简单验证码识别代码
Jan 26 PHP
php常用数组函数实例小结
Dec 29 PHP
php微信公众号开发之答题连闯三关
Oct 20 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/11/18 PHP
jQuery(非HTML5)可编辑表格实现代码
2012/12/11 Javascript
使用JS实现jQuery的addClass, removeClass, hasClass函数功能
2014/10/31 Javascript
java中String类型变量的赋值问题介绍
2016/03/23 Javascript
jQuery提示插件qTip2用法分析(支持ajax及多种样式)
2016/06/08 Javascript
javascript的函数劫持浅析
2016/09/26 Javascript
AngularJS中使用ngModal模态框实例
2017/05/27 Javascript
vue子父组件通信的实现代码
2017/07/09 Javascript
Vue2.x中利用@font-size引入字体图标报错的解决方法
2018/09/28 Javascript
vue-cli项目配置多环境的详细操作过程
2018/10/30 Javascript
微信小程序实现下拉框功能
2019/07/16 Javascript
使用axios发送post请求,将JSON数据改为form类型的示例
2019/10/31 Javascript
Vue如何基于vue-i18n实现多国语言兼容
2020/07/17 Javascript
javascript canvas实现简易时钟例子
2020/09/05 Javascript
JS实现密码框效果
2020/09/10 Javascript
vue+echarts实现中国地图流动效果(步骤详解)
2021/01/27 Vue.js
Python的Django框架中模板碎片缓存简介
2015/07/24 Python
python使用正则表达式匹配字符串开头并打印示例
2017/01/11 Python
详解python之简单主机批量管理工具
2017/01/27 Python
python如何制作缩略图
2019/04/30 Python
简单了解python中对象的取反运算符
2019/07/01 Python
python matplotlib库直方图绘制详解
2019/08/10 Python
python实现代码统计程序
2019/09/19 Python
分享8点超级有用的Python编程建议(推荐)
2019/10/13 Python
Python3实现打印任意宽度的菱形代码
2020/04/12 Python
利用Python实现最小二乘法与梯度下降算法
2021/02/21 Python
纯CSS3制作页面切换效果的实例代码
2019/05/30 HTML / CSS
法学专业应届生求职信
2013/10/16 职场文书
九年级政治教学反思
2014/02/06 职场文书
公益广告宣传方案
2014/02/28 职场文书
甜品店创业计划书
2014/09/21 职场文书
大学生个人简历自我评价
2015/03/11 职场文书
捐款通知怎么写
2015/04/24 职场文书
教师培训学习心得体会
2016/01/21 职场文书
CSS实现多个元素在盒子内两端对齐效果
2021/03/30 HTML / CSS
Python 处理表格进行成绩排序的操作代码
2021/07/26 Python