1.下载PHPExcel:https://share.weiyun.com/5IN8lEY
2.解压文件:
3.前端代码:
<form method="post" action="{:url('savestudentImport')}" class="form-signin" enctype="multipart/form-data" > <input name="excel" type="file" class="form-control"> <button class="btn btn-lg btn-primary btn-block">导入</button> </form>
4控制器中导入方法:
//导入功能 public function savestudentImport(){ //import('phpexcel.PHPExcel', EXTEND_PATH);//方法二 vendor("PHPExcel.PHPExcel"); //方法一 $objPHPExcel = new \PHPExcel(); //获取表单上传文件 $file = request()->file('excel'); $info = $file->validate(['size'=>15678,'ext'=>'xlsx,xls,csv'])->move(ROOT_PATH . 'public' . DS . 'excel'); if($info){ $exclePath = $info->getSaveName(); //获取文件名 $file_name = ROOT_PATH . 'public' . DS . 'excel' . DS . $exclePath; //上传文件的地址 $objReader =\PHPExcel_IOFactory::createReader('Excel2007'); $obj_PHPExcel =$objReader->load($file_name, $encode = 'utf-8'); //加载文件内容,编码utf-8 echo "<pre>"; $excel_array=$obj_PHPExcel->getsheet(0)->toArray(); //转换为数组格式 array_shift($excel_array); //删除第一个数组(标题); $data = []; $i=0; foreach($excel_array as $k=>$v) { $data[$k]['name'] = $v[0]; $data[$k]['type'] = $v[1]; $i++; } $success=Db::name('fuzhuang')->insertAll($data); //批量插入数据 这里的数据表改为你需要的。 //$i= $error=$i-$success; $this->success('导入成功{$success}条记录,失败{$error}条记录','lan/index'); // echo "总{$i}条,成功{$success}条,失败{$error}条。"; // Db::name('t_station')->insertAll($city); //批量插入数据 }else{ // 上传失败获取错误信息 echo $file->getError(); } }
5.我们在数据库创建fuzhuang表:
7.
8.再次查看数据库: