//Excel导入,第一期学员导入临时使用
public function insertgroup()
{
//引入你的PHPExcel文件
Loader::import('phpoffice.phpexcel.Classes.PHPExcel',VENDOR_PATH);
//获取表单上传文件
$file = request()->file('excel');
$info = $file->validate(['ext' => 'xlsx,xls'])->move(ROOT_PATH . 'public' . DS . 'uploads');
if ($info) {
if(empty($info)) {
return error('导入失败!');
}
$exclePath = $info->getSaveName(); //获取文件名
//上传文件的地址
$filename = ROOT_PATH . 'public' . DS . 'uploads' . DS . $exclePath;
//判断版本,这里有的网上的版本没有进行判断,导致会报大概这样的错误:
//Warning: ZipArchive::getFromName() [ziparchive.getfromname]: Invalid or unitialized ,这里加上这个判断就可以了
$extension = strtolower( pathinfo($filename, PATHINFO_EXTENSION) );
if($extension == 'xlsx') {
$objReader =\PHPExcel_IOFactory::createReader('Excel2007');
//加载文件内容,编码utf-8
$objPHPExcel = $objReader->load($filename, $encode = 'utf-8');
}else if($extension == 'xls'){
$objReader =\PHPExcel_IOFactory::createReader('Excel5');
$objPHPExcel = $objReader->load($filename, $encode = 'utf-8');
}else{
return $this->error('请上传excel格式的文件!');
}
$excel_array=$objPHPExcel->getsheet(0)->toArray(); //转换为数组格式
array_shift($excel_array); //删除第一个数组(标题);
$data = [];
$sucess = 0;
$error = 0;
foreach($excel_array as $k=>$v) {
/*data数组根据你表字段自行修改,这里Excel文件里的字段要跟表一致*/
//使用助教手机号查询助教id
$tutor = Db::name('tutor')->field('user_id')->where('mobile','=',$v['0'])->find();
//使用用户手机号获取用户id
$user = Db::name('mpuser')->field('id')->where('mobile','=',$v['1'])->find();
if ($tutor&&$user){
$data[$k]['tid'] = $tutor['user_id'];
$data[$k]['uid'] = $user['id'];
$data[$k]['cid'] = 2;
$data[$k]['groupmode'] = 3;
$data[$k]['groupid'] = $v['2'];
$sucess++;
}else{
$error++;
}
}
if(Db::name('course_group')->insertAll($data)){//批量插入数据
return $this->success("导入数据成功$sucess"."条,失败$error"."条");
} else {
return $this->error('导入数据失败!');
}
} else {
return $this->error('导入失败!');
}
}
tp5Excel表格导入数据
猜你喜欢
转载自blog.csdn.net/weixin_43507521/article/details/85008915
今日推荐
周排行