PHP将mysql数据导入Excel表中

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