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-accelerator网站加速PHP缓冲的方法
Jul 30 PHP
PHP Google的translate API代码
Dec 10 PHP
php中取得文件的后缀名?
Feb 20 PHP
PHP中空字符串介绍0、null、empty和false之间的关系
Sep 25 PHP
基于php冒泡排序算法的深入理解
Jun 09 PHP
解析php curl_setopt 函数的相关应用及介绍
Jun 17 PHP
深入Apache与Nginx的优缺点比较详解
Jun 17 PHP
php中实现记住密码下次自动登录的例子
Nov 06 PHP
浅谈json_encode用法
Mar 05 PHP
PHP的swoole扩展安装方法详细教程
May 18 PHP
基于PHP微信红包的算法探讨
Jul 21 PHP
浅谈PHP的反射API
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判断指定时间段的2个方法
2014/03/14 PHP
Php-Redis安装测试笔记
2015/03/05 PHP
visual studio code 调试php方法(图文详解)
2017/09/15 PHP
jquery.alert 弹出式复选框实现代码
2009/06/15 Javascript
Jquery:ajax实现翻页无刷新功能代码
2013/08/05 Javascript
jquery提交form表单简单示例分享
2014/03/03 Javascript
QQ空间顶部折页撕开效果示例代码
2014/06/15 Javascript
javascript数组排序汇总
2015/07/07 Javascript
js实现图片点击左右轮播
2015/07/08 Javascript
JS实现的文字与图片定时切换效果代码
2015/10/06 Javascript
Node.js实用代码段之正确拼接Buffer
2016/03/17 Javascript
Web打印解决方案之证件套打的实现思路
2016/08/29 Javascript
表单元素值获取方式js及java方式的简单实例
2016/10/15 Javascript
js实现把图片的绝对路径转为base64字符串、blob对象再上传
2016/12/29 Javascript
nodejs模块nodemailer基本使用-邮件发送示例(支持附件)
2017/03/28 NodeJs
javascript少儿编程关于返回值的函数内容
2018/05/27 Javascript
node中modules.exports与exports导出的区别
2018/06/08 Javascript
Layui表格监听行单双击事件讲解
2019/11/14 Javascript
[52:06]FNATIC vs NIP 2019国际邀请赛小组赛 BO2 第二场 8.16
2019/08/19 DOTA
Python动态加载模块的3种方法
2014/11/22 Python
python with提前退出遇到的坑与解决方案
2018/01/05 Python
利用Django-environ如何区分不同环境
2018/08/26 Python
Django 创建/删除用户的示例代码
2019/07/24 Python
Python之数据序列化(json、pickle、shelve)详解
2019/08/30 Python
python元组和字典的内建函数实例详解
2019/10/22 Python
python实现门限回归方式
2020/02/29 Python
python zip()函数的使用示例
2020/09/23 Python
HTML5中使用json对象的实例代码
2018/09/10 HTML / CSS
使用postMessage让 iframe自适应高度的方法示例
2019/10/08 HTML / CSS
腾讯技术类校园招聘笔试试题
2014/05/06 面试题
年度考核自我鉴定
2014/03/19 职场文书
教师专业自荐信
2014/05/31 职场文书
经营理念标语
2014/06/21 职场文书
实习证明格式范文
2014/10/14 职场文书
Python图像处理之图像拼接
2021/04/28 Python
Nginx四层负载均衡的配置指南
2021/06/11 Servers