WEB开发网
开发学院WEB开发PHP PHP将mysql数据导入Excel表中 阅读

PHP将mysql数据导入Excel表中

 2008-08-26 16:37:58 来源:WEB开发网   
核心提示:有时写程序时后台要求把大量数据导入数据库中,比如考试成绩、电话簿等一般都是存放在Excel中的数据,PHP将mysql数据导入Excel表中,这时我们可把excel导出成csv文件,然后通过以下程序即可批量导入数据到数据库中 上传cvs并导入到数据库中,测试成功(部分代码不规范,如php_SELF那里要改写成$_SER

有时写程序时后台要求把大量数据导入数据库中,比如考试成绩、电话簿等一般都是存放在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); 
?>

Tags:PHP mysql 数据

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接