PHPはMysqlデータをExcelにエクスポートする
7236 ワード
一時的にMysqlの中の1枚の表をExcelの表にエクスポートする必要があります.phpexcelのプラグインが使えます.ちょっと面倒だと思います.それに、私は一時的にバックアップしなければならないので、直接自分で書きました.
はい、このphpファイルに直接アクセスすれば、指定したテーブルのデータをエクスポートできます.
<?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ファイルに直接アクセスすれば、指定したテーブルのデータをエクスポートできます.