本文实例讲述了PHP创建word文档的方法。分享给大家供大家参考,具体如下:
关于用PHP生成word,在网上找了很多资料,有调用COM组件生成的,有安装PHP扩展生成的。都不免麻烦,以下为比较简洁的一种方法,且可跨平台。
以下为详细代码:
class.word.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
<?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
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
<?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程序设计有所帮助。