PHP将mysql数据导入Excel表中

有时写程序时后台要求把大量数据导入数据库中,比如考试成绩、电话簿等一般都是存放在excel中的数据,这时我们可把excel导出成csv文件,然后通过以下程序即可批量导入数据到数据库中,上传cvs并导入到数据库中,测试成功(部分代码不规范,如PHP_SELF那里要改写成$_SERVER[“PHP_SELF”] )

  1. <?php
  2. $fname = $_FILES['MyFile']['name'];
  3. $do = copy($_FILES['MyFile']['tmp_name'],$fname);
  4. if ($do)
  5. {
  6.     echo"导入数据成功<br>";
  7. } else {
  8.     echo "";
  9. }
  10. ?>
  11. <form ENCTYPE="multipart/form-data"  ACTION="<?php echo"".$PHP_SELF.""; ?>" METHOD="POST">
  12.     <p>导入CVS数据  <input NAME="MyFile" TYPE="file">
  13.  <input VALUE="提交" TYPE="submit">
  14.     </p>
  15. </form>
  16. <?
  17. error_reporting(0);
  18. //导入CSV格式的文件
  19. $connect=mysql_connect("localhost","a0530093319","123456") or
  20. die("could not connect to database");
  21. mysql_select_db("a0530093319",$connect) or die (mysql_error());
  22. $fname = $_FILES['MyFile']['name'];
  23. $handle=fopen("$fname","r");
  24. while($data=fgetcsv($handle,10000,","))
  25. {
  26.     $q="insert into test (code,name,date)
  27. values ('$data[0]','$data[1]','$data[2]')";
  28.     mysql_query($q) or die (mysql_error());
  29. }
  30. fclose($handle);
  31. ?>

用php将数据库导出成excel,测试完全成功

  1. <?php
  2. $DB_Server = "localhost";
  3. $DB_Username = "root";
  4. $DB_Password = "";
  5. $DB_DBName = "ishop";
  6. $DB_TBLName = "oi_mall_payment";
  7. $savename = date("YmjHis");
  8. $Connect = @mysql_connect($DB_Server, $DB_Username, $DB_Password)
  9. or die("Couldn't connect.");
  10. mysql_query("Set Names 'gbk'");
  11. $file_type = "vnd.ms-excel";
  12. $file_ending = "xls";
  13. header("Content-Type: application/$file_type;charset=big5");
  14. header("Content-Disposition: attachment;
  15. filename=".$savename.".$file_ending");
  16. //header("Pragma: no-cache");
  17. $now_date = date("Y-m-j H:i:s");
  18. $title = "数据库名:$DB_DBName,数据表:$DB_TBLName,备份日期:$now_date";
  19. $sql = "Select * from $DB_TBLName";
  20. $ALT_Db = @mysql_select_db($DB_DBName, $Connect)
  21.  or die("Couldn't select database");
  22. $result = @mysql_query($sql,$Connect) or die(mysql_error());
  23. echo("$title\n");
  24. $sep = "\t";
  25. for ($i = 0; $i < mysql_num_fields($result); $i++) {
  26.     echo mysql_field_name($result,$i) . "\t";
  27. }
  28. print("\n");
  29. $i = 0;
  30. while($row = mysql_fetch_row($result)) {
  31.     $schema_insert = "";
  32.     for($j=0; $j<mysql_num_fields($result);$j++) {
  33.         if(!isset($row[$j]))
  34.             $schema_insert .= "NULL".$sep;
  35.         elseif ($row[$j] != "")
  36.             $schema_insert .= "$row[$j]".$sep;
  37.         else
  38.             $schema_insert .= "".$sep;
  39.     }
  40.     $schema_insert = str_replace($sep."$", "", $schema_insert);
  41.     $schema_insert .= "\t";
  42.     print(trim($schema_insert));
  43.     print "\n";
  44.     $i++;
  45. }
  46. return (true);
  47. ?>
 » 本站地址:http://www.gomoth.com
  • 您可能感兴趣的相关文章