首先:在extend里面引入PHPexcel文件,直接根目录导入进去
html创建上传按钮
在上传后的sale/do_upload中去进行解析上传的excel
public function do_upload(){ //引入文件 \think\Loader::import('PHPExcel.PHPExcel'); $objPHPExcel = new \PHPExcel(); //获取表单上传文件 $file = request()->file('file'); $info = $file->validate(['ext' => 'xlsx,xls'])->move(ROOT_PATH . 'public' . DS . 'uploads'); //数据为空返回错误 if(empty($info)){ $output['status'] = false; $output['info'] = '导入数据失败~'; $this->ajaxReturn($output); } //获取文件名 $exclePath = $info->getSaveName(); //上传文件的地址 $filename = ROOT_PATH . 'public' . DS . 'uploads'.DS . $exclePath; $extension = strtolower( pathinfo($filename, PATHINFO_EXTENSION) ); \think\Loader::import('PHPExcel.IOFactory.PHPExcel_IOFactory'); if ($extension =='xlsx') { $objReader = new \PHPExcel_Reader_Excel2007(); $objExcel = $objReader ->load($filename); } else if ($extension =='xls') { $objReader = new \PHPExcel_Reader_Excel5(); $objExcel = $objReader->load($filename); } $excel_array=$objExcel->getsheet(0)->toArray(); //转换为数组格式 array_shift($excel_array); //删除第一个数组(标题); array_shift($excel_array); //删除th $data=[]; foreach ($excel_array as $k=>$v){ $data[$k]["danhao"]=$v[0];//单号 $data[$k]["type_name"]=$v[1];//类型名称 $data[$k]["name"]=$v[2]; $data[$k]["number"]=$v[3]; $data[$k]["price"]=$v[4]; $data[$k]["danwei"]=$v[0]; $data[$k]["create_user"]=$v[5]; $data[$k]["create_time"]=$v[6]; $data[$k]["remark"]=$v[7]; } $msg=[ 'code'=>1, 'msg'=>'已获取信息', ]; $msg['data']['src']=$filename; $msg['data']['data']=$data; return json_encode($msg); }