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音乐采集(部分代码)
Feb 14 PHP
PHP4与PHP5的时间格式问题
Feb 17 PHP
利用phpExcel实现Excel数据的导入导出(全步骤详细解析)
Nov 26 PHP
PHP+javascript制作带提示的验证码源码分享
May 28 PHP
PHP使用适合阅读的格式显示文件大小的方法
Mar 05 PHP
Docker配置PHP开发环境教程
Dec 21 PHP
php实现PDO中捕获SQL语句错误的方法
Feb 16 PHP
Ecshop 后台添加新功能栏目及管理权限设置教程
Nov 21 PHP
TP5(thinkPHP框架)实现后台清除缓存功能示例
May 29 PHP
RSA实现JS前端加密与PHP后端解密功能示例
Aug 05 PHP
PHP的介绍以及优势详细分析
Sep 05 PHP
PHP高并发和大流量解决方案整理
Dec 24 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
动态新闻发布的实现及其技巧
2006/10/09 PHP
PHP使用feof()函数读文件的方法
2014/11/07 PHP
php版微信发红包接口用法示例
2016/09/23 PHP
PHP实现图片的等比缩放和Logo水印功能示例
2017/05/04 PHP
总结AJAX相关JS代码片段和浏览器模型
2007/08/15 Javascript
浅谈Javascript嵌套函数及闭包
2010/11/09 Javascript
ajax更新数据后,jquery、jq失效问题
2011/03/16 Javascript
一个js过滤空格的小函数
2014/10/10 Javascript
javascript解析xml实现省市县三级联动的方法
2015/07/25 Javascript
基于JS判断iframe是否加载成功的方法(多种浏览器)
2016/05/13 Javascript
防止Node.js中错误导致进程阻塞的办法
2016/08/11 Javascript
深入理解javascript函数参数与闭包
2016/12/12 Javascript
vue获取DOM元素并设置属性的两种实现方法
2017/09/30 Javascript
js自定义input文件上传样式
2018/10/26 Javascript
微信小程序 slot踩坑的解决
2019/04/01 Javascript
JS实现图片轮播效果实例详解【可自动和手动】
2019/04/04 Javascript
你了解vue3.0响应式数据怎么实现吗
2019/06/07 Javascript
如何在postman中添加cookie信息步骤解析
2020/06/30 Javascript
[02:29]大剑、皮鞭、女装,这届DOTA2勇士令状里都有
2020/07/17 DOTA
python学习手册中的python多态示例代码
2014/01/21 Python
使用python编写脚本获取手机当前应用apk的信息
2014/07/21 Python
Python和perl实现批量对目录下电子书文件重命名的代码分享
2014/11/21 Python
python如何在列表、字典中筛选数据
2018/03/19 Python
python3利用venv配置虚拟环境及过程中的小问题小结
2018/08/01 Python
一篇文章弄懂Python中的可迭代对象、迭代器和生成器
2019/08/12 Python
Python Numpy 自然数填充数组的实现
2019/11/28 Python
Python迷宫生成和迷宫破解算法实例
2019/12/24 Python
煤矿安全生产责任书
2014/04/15 职场文书
村干部培训方案
2014/05/02 职场文书
学校四群教育实施方案
2014/06/12 职场文书
党校党性分析材料
2014/12/19 职场文书
2015年房地产个人工作总结
2015/05/26 职场文书
导游词书写之黄山
2019/08/06 职场文书
创业计划书之电动车企业
2019/10/11 职场文书
python迷宫问题深度优先遍历实例
2021/06/20 Python
叶县这家生产军用电台的兵工厂,人称“四机部”,走出一上将
2022/02/18 无线电