ThinkChat🤖让你学习和工作更高效,注册即送10W Token,即刻开启你的AI之旅 广告
从github下载PHPExcel [PHPExcel](https://github.com/PHPOffice/PHPExcel) 将下载好的PHPExcel文件夹跟PHPExcel放置在框架中的Vendor目录下,注意目录的结构 ![](https://img.kancloud.cn/d4/a9/d4a9fc1986ad31577752d8d9d29b9aab_174x61.png) ## 前端代码: ``` <form class="layui-form" method="post" action="" enctype="multipart/form-data"> <div class="layui-form-item"> <label class="layui-form-label">示例文件</label> <div class="layui-input-inline"> <a href="{$company}">下载文件</a> </div> <div class="layui-form-mid layui-word-aux">下载示例文件修改内容,开始导入</div> </div> <div class="layui-form-item"> <label class="layui-form-label">所属区域</label> <div class="layui-input-inline"> <select name="areaid" lay-verify="required"> {volist name="area" id="vo"} <option value="{$vo.id}">{$vo.name}</option> {/volist} </select> </div> </div> <div class="layui-form-item"> <label for="portdata" class="layui-form-label"> <span class="x-red">*</span>选择文件 </label> <div class="layui-input-inline"> <input type="file" id="portdata" name="portdata" required="" lay-verify="required" autocomplete="off" class="layui-input"> </div> </div> <div class="layui-form-item"> <label for="L_repass" class="layui-form-label"> </label> <button class="layui-btn" lay-filter="add" lay-submit=""> 开始导入 </button> </div> </form> ``` ## 导入功能控制器的代码 ``` public function qyimport(){ $where = $this->areawhere('id'); $area=Db::name('area')->where($where)->select(); if (Request::instance()->isPost()){ // $postdata=Request::instance()->param(); vendor("PHPExcel.PHPExcel"); $objPHPExcel =new \PHPExcel(); //获取表单上传文件 $file = request()->file('portdata'); $info = $file->validate(['ext' => 'xlsx'])->move(ROOT_PATH . 'public/uploads'); //上传验证后缀名,以及上传之后移动的地址 E:\wamp\www\bick\public if($info) { // echo $info->getFilename(); $exclePath = $info->getSaveName(); //获取文件名 $file_name = ROOT_PATH . 'public/uploads' . DS . $exclePath;//上传文件的地址 $objReader =\PHPExcel_IOFactory::createReader("Excel2007"); $obj_PHPExcel =$objReader->load($file_name, $encode = 'utf-8'); //加载文件内容,编码utf-8 // file_put_contents('C:/log.html',' file_name:'.$file_name.'<br>',FILE_APPEND); $excel_array=$obj_PHPExcel->getSheet(0)->toArray(); //转换为数组格式 array_shift($excel_array); //删除第一个数组(标题); $city = []; $i=0; $time = time(); $areaid = input('param.areaid'); foreach($excel_array as $k=>$v) { $name = trim($v[0]); if(!empty($name)){ $checkqiye=Db::name('qiye')->where(array('name'=>$name))->find(); if(empty($checkqiye)){ $indata = array( 'name'=>$name, 'xinyongdm'=>trim($v[1]), 'legalperson'=>trim($v[2]), 'address'=>trim($v[3]), 'regdate'=>trim($v[4]), 'lperson'=>trim($v[5]), 'phone'=>trim($v[6]), 'zztype'=>trim($v[7]), 'zzbdate'=>trim($v[8]), 'axzheng'=>trim($v[9]), 'addtime'=>$time, 'areaid'=>$areaid ); Db::name('qiye')->insert($indata); } } $i++; } $this->success('导入成功','qiyelist'); }else{ echo $file->getError(); } } $company = request()->domain().'/case/case.xlsx'; $this->assign('company',$company); $this->assign('area',$area); return $this->fetch(); } ```