excel在办公系统中得到广泛的应用,通过程序实现从数据库中将数据导入到Excel表格内是一中行之有效的方法;
本实例的关键是Excel类的定义和应用,该类关键代码如下
<?php
class excel{
function start(){
ob_start();
}
function save($path){
$data = ob_get_contents();
ob_end_clean();
$this->wirtetoexcel($path,$data);
}
function wirtetoexcel ($fn,$data){
$fp=fopen($fn,"wb");
fwrite($fp,$data);
fclose($fp);
}
}?>
该类中定义了三个成员函数,其中
start()用于限定要保存的数据的开始;
save()用于限定要保存的数据的结束,
并调用成员函数writetoexcel()实现将查询结果一二进制的形式保存到Excel表格中;
下面是数据库连接和页面显示代码
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<?php
//实现数据库连接
$conn=@mysql_connect("localhost","root","") or die("连接失败");
mysql_select_db("test",$conn) or die("连接失败");
mysql_query("set names utf8");
$sql=@mysql_query("select * from tb_score where sno like '%".$sno."%'",$conn);
$info=mysql_fetch_array($sql);
// if($_POST[submit]!="" || $_GET[id]!=""){//这个判断没有数据显示,故不使用
if($info){
$sno=@$_POST["sno"];
if(@$_GET["sno"]!=""){
$sno=$_GET["sno"];
}
var_dump($info);
if($info==false){
echo "<div align=center>对不起,没有查找到您要找的学生成绩信息!</div>";
}else{
?>
<table width="500" height="25" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td bgcolor="#BADA0D">
<?php
if(@$_GET["id"]!=""){
$Excel=new Excel();
$Excel->start();
}
?>
<table width="500" height="50" border="0" align="center" cellpadding="0" cellspacing="1">
<tr>
<td width="96" height="25" bgcolor="#E6F2A8"><div align="center">学号</div></td>
<td width="75" bgcolor="#E6F2A8"><div align="center">姓名</div></td>
<td width="81" bgcolor="#E6F2A8"><div align="center">班级</div></td>
<td width="78" bgcolor="#E6F2A8"><div align="center">语文</div></td>
<td width="88" bgcolor="#E6F2A8"><div align="center">数学</div></td>
<td width="75" bgcolor="#E6F2A8"><div align="center">外语</div></td>
</tr>
<?php
do{
?>
<tr>
<td height="25" bgcolor="#FFFFFF"><div align="center"><?php echo $info["sno"];?></div></td>
<td height="25" bgcolor="#FFFFFF"><div align="center"><?php echo $info["sname"];?></div></td>
<td height="25" bgcolor="#FFFFFF"><div align="center"><?php echo $info["sclass"];?></div></td>
<td height="25" bgcolor="#FFFFFF"><div align="center"><?php echo $info["yw"];?></div></td>
<td height="25" bgcolor="#FFFFFF"><div align="center"><?php echo $info["sx"];?></div></td>
<td height="25" bgcolor="#FFFFFF"><div align="center"><?php echo $info["wy"];?></div></td>
</tr>
<?php }
while($info=mysql_fetch_array($sql));
?>
<?php
if(@$_GET["id"]!=""){
$Excel->save("data.xls");
}
?>
<tr>
<td height="25" colspan="6" bgcolor="#FFFFFF"><div align="center">
<?php
if(@$_GET["id"]==""){
?>
<input type="button" value="将表格内容保存到Excel" class="buttoncss" onclick="window.location.href='yzm.php?id=print&sno=<?php echo $sno?>'">
<?php }
else{
echo "<div align=center>查询结果已经保存到Excel中</div>";
}
?>
</div></td>
</tr>
</table>
<?php
}
}
?>
</body>
</html>