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版本等的验证)