程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> PHP將mysql數據導入Excel表中

PHP將mysql數據導入Excel表中

編輯:PHP綜合

有時寫程序時後台要求把大量數據導入數據庫中,比如考試成績、電話簿等一般都是存放在excel中的數據,這時我們可把Excel導出成csv文件,然後通過以下程序即可批量導入數據到數據庫中

上傳cvs並導入到數據庫中,測試成功(部分代碼不規范,如PHP_SELF那裡要改寫成$_SERVER["PHP_SELF"] )
PHP代碼
<?PHP   
$fname = $_FILES['MyFile']['name'];   
$do = copy($_FILES['MyFile']['tmp_name'],$fname);   
if ($do)    
{    
    echo"導入數據成功<br>";    
} else {   
    echo "";    
}   
?>   
<form ENCTYPE="multipart/form-data" ACTION="<?php echo"".$PHP_SELF.""; ?>" METHOD="POST">    
    <p>導入CVS數據  <input NAME="MyFile" TYPE="file"> <input VALUE="提交" TYPE="submit">    
    </p>   
</form>    
<?   
error_reporting(0);   
//導入CSV格式的文件   
$connect=MySQL_connect("localhost","a0530093319","123456") or dIE("could not connect to database");   
mysql_select_db("a0530093319",$connect) or dIE (MySQL_error());   
$fname = $_FILES['MyFile']['name'];   
$handle=fopen("$fname","r");   
while($data=fgetcsv($handle,10000,","))              
{   
    $q="insert into test (code,name,date) values ('$data[0]','$data[1]','$data[2]')";   
    mysql_query($q) or dIE (MySQL_error());   
                                        
}   
fclose($handle);   
?>

用PHP將數據庫導出成Excel,測試完全成功
PHP代碼
<?PHP 
$DB_Server = "localhost";   
$DB_Username = "root";   
$DB_PassWord = "";   
$DB_DBName = "ishop";   
$DB_TBLName = "oi_mall_payment";   
  
$savename = date("YmjHis");
$Connect = @MySQL_connect($DB_Server, $DB_Username, $DB_PassWord) or dIE("Couldn't connect.");   
MySQL_query("Set Names 'gbk'");
$file_type = "vnd.ms-Excel";   
$file_ending = "xls";
header("Content-Type: application/$file_type;charset=big5");
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";    
  
$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()); 
  
echo("$title\n");    
$sep = "\t";    
for ($i = 0; $i < MySQL_num_fIElds($result); $i++) {
    echo MySQL_fIEld_name($result,$i) . "\t";    
}    
print("\n");    
$i = 0;    
while($row = MySQL_fetch_row($result)) {    
    $schema_insert = "";
    for($j=0; $j<MySQL_num_fIElds($result);$j++) {    
        if(!isset($row[$j]))    
            $schema_insert .= "NULL".$sep;    
        elseif ($row[$j] != "")    
            $schema_insert .= "$row[$j]".$sep;
        else    
            $schema_insert .= "".$sep;    
    }    
    $schema_insert = str_replace($sep."$", "", $schema_insert);    
    $schema_insert .= "\t";    
    print(trim($schema_insert));    
    print "\n";    
    $i++;    
}    
return (true); 
?>

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved