PHP导出Mysql数据到Excel
临时需要将Mysql中一张表导出成Excel表格,有个phpexcel的插件可以用,我觉得有点麻烦,况且我是临时要备份的,就直接自己写了。
<?php /*连接数据库*/ $DB_Server = "ServerIP"; $DB_Username = "UserName"; $DB_Password = "PassWord"; $DB_DBName = "DBname"; //目标数据库名 $DB_TBLName = "TableName"; //目标表名 $Connect = @mysql_connect($DB_Server, $DB_Username, $DB_Password) or die("Couldn‘t connect."); mysql_query("set names utf8"); $savename = date("YmjHis"); //导出excel文件名 $file_type = "vnd.ms-excel"; $file_ending = "xls"; header("Content-Type: application/$file_type;charset=utf-8"); header("Content-Disposition: attachment; filename=".$savename.".$file_ending"); header("Pragma: no-cache"); /*写入备注信息*/ $now_date = date("Y-m-j H:i:s"); $title = "数据库名:$DB_DBName,数据表:$DB_TBLName,备份日期:$now_date"; echo iconv("utf-8","gbk",$title)."\n"; /*查询数据库*/ $sql = "Select * from $DB_TBLName"; $ALT_Db = @mysql_select_db($DB_DBName, $Connect) or die("Couldn‘t select database"); $result = @mysql_query($sql,$Connect) or die(mysql_error()); /*写入表字段名*/ for ($i = 0; $i < mysql_num_fields($result); $i++) { echo mysql_field_name($result,$i) . "\t"; } echo "\n"; /*写入表数据*/ $sep = "\t"; while($row = mysql_fetch_row($result)) { $data = ""; for($i=0; $i<mysql_num_fields($result);$i++) { if(!isset($row[$i])) $data .= "NULL".$sep; //处理NULL字段 elseif ($row[$i] != ""){ $datmp=iconv("utf-8", "gbk",$row[$i]); $data .= $datmp.$sep; } else $data .= "".$sep; //处理空字段 } echo $data."\n"; } ?>
好了,这样直接访问这个php文件就可以将指定的表中数据导出了。
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。