本人测试成功,但是我省略了数据库连接部分代码。其中$Table_Word=word;而word表中字段依次是id、name、qq、add、tel,将代码先留下来将来可能用的着,这样可以扩展一下,将自己想要保存的数据保存到word就轻而易举了。。。。。。。。
<?php
class Word //********************************自定义类Word
{
function Start() //************作用是定义要保存数据的开始
{
ob_start(); //******开始输出缓冲,这是php停止输出,以后的输出都将转到内部缓冲里
}
function Save($path) //作用是定义要保存数据的结束,同时执行将数据库中的数据保存到Word中的操作,也就是说所要保存的数据必须限定在Start()和Save()之间
{
$data=ob_get_contents();//*********这个函数是返回内部缓冲的内容,就是说将内容全部变成了字符串
ob_end_clean();//*******************结束输出缓冲,并扔掉缓冲里的内容
$this->WriteToWord($path,$data);//*****调用了本类的函数
}
function WriteToWord($path,$data)//作用是将数据以文本形式保存到Word中(其中fopen中的mode规定是二进制还是文本格式),第一个是保存word文件的路径,第二个是数据
{
$fp=fopen($path,”w”);
fwrite($fp,$data);
fclose($fp);
}
}
?>
<?php
if($_GET[‘test’]!=””)
{
$Word=new Word;
$Word->Start();
}
?>
<table width=”600″ height=”50″ border=”1″ cellpadding=”0″ cellspacing=”0″ align=”center”>
<tr>
<td width=”120″ align=”center” valign=”middle”>学号</td>
<td width=”120″ align=”center” valign=”middle”>姓名</td>
<td width=”120″ align=”center” valign=”middle”>Q Q</td>
<td width=”120″ align=”center” valign=”middle”>地址</td>
<td width=”120″ align=”center” valign=”middle”>TEL</td>
</tr>
<?php
$select=”select * from $Table_Word order by id desc”;
$mysql=mysql_query($select);
while($info=mysql_fetch_array($mysql))
{
?>
<tr>
<td width=”120″ align=”center” valign=”middle”><?php echo $info[‘id’]; ?></td>
<td width=”120″ align=”center” valign=”middle”><?php echo $info[‘name’]; ?></td>
<td width=”120″ align=”center” valign=”middle”><?php echo $info[‘qq’]; ?></td>
<td width=”120″ align=”center” valign=”middle”><?php echo $info[‘add’]; ?></td>
<td width=”120″ align=”center” valign=”middle”><?php echo $info[‘tel’]; ?></td>
</tr>
<?php
}
if($_GET[‘test’]!=””)
{
$Word->Save(“word/wordtest.doc”);
}
if($_GET[‘test’]==””)
{
?>
<tr height=”20″>
<td colspan=”5″ align=”center” valign=”middle”>
<input type=”button” name=”sub” value=”将以上数据保存到word” onClick=”window.location.href=’php_word.php?test=word'”>
</td>
</tr>
<?php
}
else
{
echo “数据已经保存了!”;
}
?>
</table>