表單頁面
<form name="form2" method="post" enctype="multipart/form-data" action="import.php">
<input type="hidden" name="leadExcel" value="true"><table align="center" width="90% " border="0">
<tr>
<td>
<input type="file" name="inputExcel"><input type="submit" name="import" value="導入數據 ">
</td>
</tr>
</table>
</form>
<?php
if($_POST ['import']=="導入數據 "){
$leadExcel=$_POST['leadExcel'];
//echo $leadExcel;die;
if($leadExcel == "true")
{
//echo "OK";die();
//獲取上傳的文件名
$filename = $_FILES['inputExcel']['name'];
//上傳到服務器上的臨時文件名
$tmp_name = $_FILES['inputExcel']['tmp_name'];
$msg = uploadFile($filename,$tmp_name);
echo $msg;
}
}
//導入Excel文件
function uploadFile($file,$filetempname)
{
//自己設置的上傳文件存放路徑
$filePath = 'upFile/';
$str = "";
//下面的路徑按照你 PHPExcel的路徑來修改
//提高開發效率
set_include_path('.'. PATH_SEPARATOR .dirname(__FILE__).'\PHPExcel' . PATH_SEPARATOR .get_include_path()); require_once 'PHPExcel.php';
require_once 'PHPExcel\IOFactory.php';
//require_once 'PHPExcel\Reader\Excel5.php';//excel 2003
require_once 'PHPExcel\Reader\Excel2007.php';//excel 2007
$filename=explode(".",$file);//把上傳的文件名以“.”好爲準做一個數組。
$time=date("y-m-d");//去當前上傳的時間
$filename[0]=$time;//取文件名t替換
$name=implode(".",$filename); //上傳後的文件名
$uploadfile=$filePath.$name;//上傳後的文件名地址
$result = move_uploaded_file($filetempname,$uploadfile);//假如上傳到當前目錄下
if($result) //如果上傳文件成功,就執行導入 excel操作
{
$objReader = PHPExcel_IOFactory::createReader('Excel2007');//use excel2003 和 2007 format
$objPHPExcel = PHPExcel_IOFactory::load($uploadfile);//改成這個寫法就好了
$sheet = $objPHPExcel->getSheet(0);
$highestRow = $sheet->getHighestRow(); // 取得總行數
$highestColumn = $sheet->getHighestColumn(); // 取得總列數
//循環讀取excel文件,讀取一條,插入一條
for($j=2;$j<=$highestRow;$j++)
{
for($k='A';$k<=$highestColumn;$k++)
{
$str .= iconv('utf-8','gbk',$objPHPExcel->getActiveSheet()->getCell("$k$j")->getValue()).'\\';//讀 取單元格
}
//explode:函 數把字符串分割爲數組。
$strs =explode("\\",$str);
//var_dump ($strs);
//die();
$conn = new mysqli('ip', '用戶名', '密碼','數據庫名');
$sql ="INSERT INTO username(u_name,u_pwd) VALUES ('".$strs[1]."','".$strs[2]."')";
//echo $ sql;
$re = $conn->query("set names utf-8");//這就是指定數據庫字 符集,一般放在連接數據庫後面就係了
if(! $conn->query($sql)){
return false;
}
$str ="";
}
unlink ($uploadfile); //刪除上傳的excel文件
$msg = "導入成 功!";
}else{
$msg = "導入失 敗!";
}
return $msg;
}