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

?>

· 把年齡相仿的獅虎熊放一起,誰更厲害?結果出人意料

很多人都想知道獅子、老虎和熊打起來誰最厲害,于是便有好事之人把這三種動物關在一起...

· 湖北宜昌三峽壩區水面驚現神秘動物

近日,湖北宜昌,一段視頻在當地熱傳:有網友在三峽壩區拍到神秘動物,體型碩大數米長...

· 什麽是語段?語段的類型以及和句群、段落的區別與聯系是什麽?

句群是最高級的語言單位。 段落(自然段)是章法單位...

 
用PHP將mysql數據表轉換爲excel文件格式
  <?php  $DB_Server = "localhost";  $DB_Username = "mydowns";  $DB_Password = "";  $DB_DBName = "mydowns";  $DB_TBLName = "user";  $Connect = @mysql_connect($DB_Server, $DB_Username, ...查看完整版>>用PHP將mysql數據表轉換爲excel文件格式
 
MySQL實現表中取出隨機數據
  以前在群裏討論過這個問題,比較的有意思.mysql的語法真好玩.他們原來都想用PHP的實現隨機,但取出多條好像要進行兩次以上查詢.翻了手冊,找到了下面這個語句,可以完成任務了。  SELECT * FROM table_name ORDER ...查看完整版>>MySQL實現表中取出隨機數據
 
MySQL實現表中取出隨機數據
  以前在群裏討論過這個問題,比較的有意思.mysql的語法真好玩.他們原來都想用PHP的實現隨機,但取出多條好像要進行兩次以上查詢.翻了手冊,找到了下面這個語句,可以完成任務了。    SELECT * FROM table_name OR...查看完整版>>MySQL實現表中取出隨機數據
 
關于DataGrid 數據導入Excel亂碼
當導數據到Excel 中時有時會出現亂碼原來代碼 private static void WriteToExcelFromDataGrid(DataGrid dg, string fileName) { //StringWriter tw = new StringWriter(new CultureInfo( "zh-CHS", false)); S...查看完整版>>關于DataGrid 數據導入Excel亂碼
 
把Excel表中數據導入數據庫
這是第二次了,市場部那邊又來要求改數據。他們要改的是數據庫某張表中類似商品價格等的數據,需要改的地方又多,我們上次是靠新來的兄弟一個個給Update進去的,這次老大去教了他們Update語句,把煩人的皮球踢給他們...查看完整版>>把Excel表中數據導入數據庫