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 相关文章推荐
推荐Discuz!5的PHP代码高亮显示与实现可运行代码
Mar 15 PHP
php session 检测和注销
Mar 16 PHP
php db类库进行数据库操作
Mar 19 PHP
ubuntu10.04配置 nginx+php-fpm模式的详解
Jun 03 PHP
CI(CodeIgniter)框架配置
Jun 10 PHP
PHP图片处理之图片旋转和图片翻转实例
Nov 19 PHP
thinkphp文件引用与分支结构用法实例
Nov 26 PHP
PHP中mysqli_affected_rows作用行数返回值分析
Dec 26 PHP
浅谈php命令行用法
Feb 04 PHP
php上传图片获取路径及给表单字段赋值的方法
Jan 23 PHP
浅谈PHP中关于foreach使用引用变量的坑
Nov 14 PHP
Laravel框架模型的创建及模型对数据操作示例
May 07 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
discuz程序的PHP加密函数原理分析
2011/08/05 PHP
Laravel使用memcached缓存对文章增删改查进行优化的方法
2016/10/08 PHP
Windows下php+mysql5.7配置教程
2017/05/16 PHP
PHP实现websocket通信的方法示例
2018/08/28 PHP
php 调用百度sms来发送短信的实现示例
2018/11/02 PHP
PHP实现的策略模式示例
2019/03/20 PHP
鼠标图片振动代码
2006/07/06 Javascript
jQuery EasyUI API 中文文档 - ComboTree组合树
2011/10/11 Javascript
js DOM 元素ID就是全局变量
2012/09/20 Javascript
js使下拉列表框可编辑不止是选择
2013/12/12 Javascript
JS 排序输出实现table行号自增前端动态生成的tr
2014/08/13 Javascript
nodejs命令行参数处理模块commander使用实例
2014/09/17 NodeJs
jQuery使用之处理页面元素用法实例
2015/01/19 Javascript
JS实现的简易拖放效果示例
2016/12/29 Javascript
JS开发常用工具函数(小结)
2019/07/04 Javascript
解决一个微信号同时支持多个环境网页授权问题
2019/08/07 Javascript
vue按需加载实例详解
2019/09/06 Javascript
使用layer.msg 时间设置不起作用的解决方法
2019/09/12 Javascript
微信小程序实现单个卡片左滑显示按钮并防止上下滑动干扰功能
2019/12/06 Javascript
[01:14]DOTA2亚洲邀请赛 ShowOpen
2015/02/07 DOTA
Python开发WebService系列教程之REST,web.py,eurasia,Django
2014/06/30 Python
Python实现网站文件的全备份和差异备份
2014/11/30 Python
Python Pandas数据结构简单介绍
2019/07/03 Python
python将字符串list写入excel和txt的实例
2019/07/20 Python
opencv-python 读取图像并转换颜色空间实例
2019/12/09 Python
国际化的太阳镜及太阳镜配件零售商:Sunglass Hut
2016/07/26 全球购物
仓管员岗位职责范文
2013/11/08 职场文书
档案接收函范文
2014/01/10 职场文书
法律专业自荐信
2014/06/03 职场文书
建党伟业电影观后感
2015/06/01 职场文书
高中团支书竞选稿
2015/11/21 职场文书
优质服务标语口号
2015/12/26 职场文书
个人自我鉴定怎么写?
2019/07/01 职场文书
MySQL大小写敏感的注意事项
2021/05/24 MySQL
欧元符号 €
2022/02/17 杂记
Android studio 简单计算器的编写
2022/05/20 Java/Android