| 導購 | 订阅 | 在线投稿
分享
 
 
 

PHP將mysql數據導入Excel表中

2008-08-27 06:58:17  編輯來源:互聯網  简体版  手機版  移動版  評論  字體: ||

有時寫程序時後台要求把大量數據導入數據庫中,比如考試成績、電話簿等一般都是存放在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代碼 www.devdao.com

<?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);

?>

有時寫程序時後台要求把大量數據導入數據庫中,比如考試成績、電話簿等一般都是存放在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代碼 [url=http://www.devdao.com]www.devdao.com[/url] <?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); ?>
󰈣󰈤
王朝萬家燈火計劃
期待原創作者加盟
 
 
 
>>返回首頁<<
 
 
 
 
 熱帖排行
 
王朝網路微信公眾號
微信掃碼關註本站公眾號 wangchaonetcn
 
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有