研究了一下~方法不少~最后決定用Excel導(dǎo)入~在網(wǎng)上搜了很多這方面的資料,發(fā)現(xiàn)都是將excel文件另存為csv文件,然后從csv文件導(dǎo)入。這里介紹一個直接將excel文件導(dǎo)入mysql的例子。我花了一晚上的時間測試,無論導(dǎo)入簡繁體都不會出現(xiàn)亂碼,非常好用。
header("Content-type: text/html; charset=utf-8");
require_once 'reader.php'; // ExcelFile($filename, $encoding); $data = new Spreadsheet_Excel_Reader(); // Set output Encoding. $data->setOutputEncoding('gbk');
//”data.xls”是指要導(dǎo)入到mysql中的excel文件
$data=new Spreadsheet_Excel_Reader;
$data->read('data.xls');
@$db = mysql_connect('localhost', 'root', '123456') or
die("Could not connect to database.");//連接數(shù)據(jù)庫
mysql_query("set names 'utf8'");//輸出中文
mysql_select_db('ddd'); //選擇數(shù)據(jù)庫
error_reporting(E_ALL ^ E_NOTICE);
for ($i = 1; $i <= $data->sheets[0]['numRows']; $i++) {
//以下注釋的for循環(huán)打印excel表數(shù)據(jù)
$result="select * from aaa where user_name=".$data->sheets[0]['cells'][$i][1];
$row = mysql_query($result);
if(!$row){
//以下代碼是將excel表數(shù)據(jù)【3個字段】插入到mysql中, 根據(jù)你的excel表字段的多少,改寫以下代碼吧!
$sql = "INSERT INTO aaa (wid, email, user_name, password,mobile_phone) VALUES('".
$data->sheets[0]['cells'][$i][1]."','".
$data->sheets[0]['cells'][$i][2]."','".
$data->sheets[0]['cells'][$i][3]."','".
$data->sheets[0]['cells'][$i][4]."')";
$res = mysql_query($sql);
echo $i." 插入成功 ".$data->sheets[0]['cells'][$i][1]."
";
}
else{
echo $i." 已經(jīng)存在 失敗 ".$data->sheets[0]['cells'][$i][1]."
";
}
}
?>
文件下載地址:______Excl.rar
新聞熱點
疑難解答
圖片精選