PHPExcel如何从excel表导入到mysql数据库

如题所述

这是我写过的,绝对能用,不行你再找我!!

<?php
if($_POST[sub]){

$uptypes=array('application/vnd.ms-excel','application/octet-stream');
$max_file_szie=20*pow(2,20); //上传的文件小于20MB
$destination_folder='../conn/'; //上传文件保存路径
if($_SERVER['REQUEST_METHOD']=='POST'){
if(!is_uploaded_file($_FILES['upfile']['tmp_name'])){

exit("<script> alert('文件不存在!');history.back();</script>");
}
if($max_file_szie<$_FILES['upfile']['size']){

exit("<script> alert('文件太大了!');history.back();</script>");
}
if(!in_array($_FILES['upfile']['type'],$uptypes)){
echo '文件类型不符合!'.$_FILES['upfile']['type'];
exit("<script> alert('文件类型不符合!');history.back();</script>");

}
if(!file_exists($destination_folder)){
mkdir($destination_folder);
}
$filename=$_FILES['upfile']['tmp_name'];
$image_size=getimagesize($filename);
$pinfo=pathinfo($_FILES['upfile']['name']); //文件路径信息
$ftype=$pinfo['extension']; //旧文件后缀名
$destination = $destination_folder.$_FILES['upfile']['name']; //新文件名称

if(file_exists($destination)&&$voerwrie !=true){

exit("<script> alert('同名文件已经存在了!');history.back();</script>");

}
//把上传的文件从临时文件夹移动到指定目录
if(!move_uploaded_file($filename,$destination)){

exit("<script> alert('移动文件出错了!');history.back();</script>");
}
$pinfo=pathinfo($destination);
$fname=$pinfo[basename];
$tpfile=$destination;//上传文件名

//-----------上传成功,导入数据star-----

$dataf=$tpfile;
if(!file_exists($dataf))
{
exit("文件不存在"); //文件不存在

}

$file = fopen("$dataf",'r');

while ($d = fgetcsv($file)) { //每次读取CSV里面的一行内容
//print_r($d); //此为一个数组,要获得每一个数据,访问数组下标即可
$type="`uid`='$d[0]' && name='$d[1]'";
$dsql=dbst($tableqz.message2,$type);

if(!$dsql){
$uid=trim($d[0]); //编号
$name=trim($d[1]); //客户名称
$type="(`uid`, `username`, `password`) VALUES (NULL, '$uid', '$name');";
dbin(hh_members,$type);
}
}

fclose($file);
unlink("$dataf");

}

//---上传end

exit("<script> alert('成功导入了所有数据!');history.back();</script>");
}
?>
温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答