PHP创建word文档的方法(平台无关)

这篇文章主要介绍了PHP创建word文档的方法,结合实例形式分析了与平台无关的生成word文档的方法,非常简单实用,需要的朋友可以参考下。

本文实例讲述了PHP创建word文档的方法,分享给大家供大家参考,具体如下:

关于用PHP生成word,在网上找了很多资料,有调用COM组件生成的,有安装PHP扩展生成的,都不免麻烦,以下为比较简洁的一种方法,且可跨平台。

以下为详细代码:

class.word.php

  1. <?php
  2. class Word{
  3. function start(){
  4. ob_start(); //打开输出控制缓冲
  5. echo '<html xmlns:o="urn:schemas-microsoft-com:office:office"';
  6. echo 'xmlns:w="urn:schemas-microsoft-com:office:word"';
  7. echo 'xmlns="http://www.w3.org/TR/REC-html40">';
  8. }
  9. function save($path){
  10. echo "</html>";
  11. $data=ob_get_contents(); //返回输出缓冲区的内容
  12. ob_end_clean(); //清空缓冲区并关闭输出缓冲
  13. $this->writeFile($path,$data); //将缓冲区内容写入word
  14. }
  15. function writeFile($fn,$data){
  16. $fp=fopen($fn,"wb+");
  17. fwrite($fp,$data);
  18. fclose($fp);
  19. }
  20. }

index.php

  1. <?php
  2. include("class.word.php");
  3. $word=new Word();
  4. $word->start();
  5. //以下内容会保存在WORD文件中,可以使用HTML标签
  6. ?>
  7. <h1>直接用php创建word文档</h1>
  8. 作者:axgle
  9. <hr size=1>
  10. <p>如果你打开data.doc,看到了这里的介绍,则说明word文档创建成功了。
  11. <p>
  12. 不论是在什么操作系统下,使用本方法都可以直接用PHP生成word文档。绝对不是吹牛!
  13. 就算是没有安装word,也能够生成word文件。
  14. 当然了,生成的word文件可以用word,wps或者其他软件打开。
  15. <p>
  16. <b>使用方法:</b>
  17. <br>
  18. 首先用$word->start()表示要生成word文件了。
  19. 然后你可以输出任何的HTML代码,不论是从文件读过来再写到这里,
  20. 还是直接在这里输出HTML,都没有关系。
  21. <p>等你输出完毕后,用$word->save($path)方法,其中$path是你想
  22. 生成的word文件的名称(可以给出完整的路径).当你使用了$word->save()
  23. 方法后,这后面的任何输出都和word文件没有关系了,也就是说word的生成
  24. 工作就完成了。之后就和你平常使用php的方式一样拉。随便你输出什么东西,
  25. 都直接在浏览器里输出,而不会写到word里面去。
  26. <p>这是本人想到的一个很有意思的方法,它的实现方法出人意料的简单,并且避免
  27. 了对windows环境的依赖。
  28. <br>哈哈,很有意思吧?享受它吧!
  29. <hr size=1>
  30. <?php
  31. //以上内容会保存在WORD文件中
  32. $word->save("data.doc");//保存word并且结束.
  33. //以下内容正常输出在页面文件中
  34. header("Content-type:text/html;charset=utf-8");
  35. echo 'data.doc生成成功,请到目录下查看<br>';
  36. ?>