PHPはMysqlデータをExcelにエクスポートする

7236 ワード

一時的にMysqlの中の1枚の表を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)."
"; /* */ $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 "
"; /* */ $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."
"; } ?>

はい、このphpファイルに直接アクセスすれば、指定したテーブルのデータをエクスポートできます.