1.在thinkphp5.0中整合PHPExcel見:http://blog.csdn.net/qq_27930635/article/details/79626099
2.首先準備好excel文件,文件內容如下圖所示:
3.將文件放入E:\wamp64\www\tp5\public\uploads\人員.xls(我這裏爲了方便測試,直接放在這裏,正常情況下應該是由前臺上傳文件到這個目錄下)
4.控制器代碼:
public function import($filename){
//引入PHPExcel
header("content-type:text/html; charset=utf-8");
vendor("PHPExcel.PHPExcel");
//文件導入
$filename="E:\\wamp64\\www\\tp5\\public\\uploads\\".$filename.".xls";
$filename=iconv('utf-8','gbk',$filename);
if(file_exists($filename)) {//如果文件存在
$PHPReader = new \PHPExcel_Reader_Excel5();
//載入excel文件
$PHPExcel = $PHPReader->load($filename);
$sheet = $PHPExcel->getActiveSheet(0);//獲得sheet
$highestRow = $sheet->getHighestRow(); // 取得共有數據數
data=$sheet->toArray();
for($i=1;$i<$highestRow;$i++){
$user['gonghao']=$data[$i][0];
$user['name']=$data[$i][1];
$user['dept']=$data[$i][2];
$user['group']=$data[$i][3];
$user['salary']=$data[$i][4];
$user['allowance']=$data[$i][5];
$user['workinghours']=$data[$i][6];
//這個地方是我自己的邏輯層寫了一個數據庫寫入函數,讀者可以自己寫一個添加函數,
//相信已經寫phpexcel寫入了,單條數據寫入應該沒得啥子問題了
$modelUserLogic = Loader::model('User', 'logic');
$ret=$modelUserLogic->add($user);
}
return $ret;
}else{
return array("resultcode" => -5, "resultmsg" => "文件不存在", "data" => null);
}
}
5.瀏覽器直接訪問該控制的該方法,url後面帶上filename/人員(這裏只是爲了方便測試,沒有作什麼驗證,讀者自己要做一些數據內容驗證,
問價類型驗證,包括excel版本等的驗證)