此方法在任何操作系统下可以直接用PHP生成word文档。 就算是没有安装word,也能够生成word文件。 而且生成的word文件可以用word,wps或者其他软件打开。
下面来介绍下使用方法:
首先用$word->start()表示要生成word文件了。 然后你可以输出任何的HTML代码,不论是从文件读过来再写到这里, 还是直接在这里输出HTML,都没有关系。
等你输出完毕后,用$word->save($path)方法,其中$path是你想 生成的word文件的名称(可以给出完整的路径).当你使用了$word->save() 方法后,这后面的任何输出都和word文件没有关系了,也就是说word的生成 工作就完成了。之后就和你平常使用php的方式一样拉。随便你输出什么东西, 都直接在浏览器里输出,而不会写到word里面去。
在下面实现中,一共有2个php文件。 word.php和test.php。
word.php:
<?php
class word
{
/*
@GNU:GPL
@author axgle <
axgle@yahoo.com.cn>
@date 2005.4.20
*/
function start()
{
ob_start();
print'<html xmlns:o="urn:schemas-microsoft-com:office:office"
xmlns:w="urn:schemas-microsoft-com:office:word"
xmlns="
http://www.w3.org/TR/REC-html40">';
}
function save($path)
{
print "</html>";
$data = ob_get_contents();
ob_end_clean();
$this->wirtefile ($path,$data);
}
function wirtefile ($fn,$data)
{
$fp=fopen($fn,"wb");
fwrite($fp,$data);
fclose($fp);
}
}
?>
test.php:
<?php
include("word.php");
$word=new word;
$word->start();
?>
<title>用php创建word文档方法</title>
<h1>用php创建word文档方法</h1>
作者:axgle
<hr size=1>
<p>方法详细说明<p>
<hr size=1>
<?
$word->save("data.doc");//保存word并且结束.
echo '
<title>输出生成文档标题</title>
<h1>输出生成文档标题</h1>
查看你的目录下看看有没有data.doc,是否成功!
<br>
如果你用的是windows,并且安装得有word,可以查看<p>
<a href="data.doc" target=_blank>这里</a>';
?>
附: 需要保证目录可写,因为要创建一个新的word文件出来.