临时需要将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文件就可以将指定的表中数据导出了。