getTable(); $database = \think\Config::get('database.database');*/ //$fieldArr = []; /* $list = db()->query("SELECT COLUMN_NAME,COLUMN_COMMENT FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = ? AND TABLE_SCHEMA = ?", [$table, $database]); foreach ($list as $k => $v) { if ($importHeadType == 'comment') { $fieldArr[$v['COLUMN_COMMENT']] = $v['COLUMN_NAME']; } else { $fieldArr[$v['COLUMN_NAME']] = $v['COLUMN_NAME']; } }*/ $fieldArr=[ "手机号"=>'no', "卡名称"=>'name', "省份"=>'province', "归属地"=>'city', "运营商"=>'network', "卡品牌"=>'brand', "原价"=>'amount_original', "底价"=>'amount_di', "售价"=>'amount_base', "预存话费"=>'amount_charge', "备注(仅我可见)"=>'remark', "号码状态"=>'status', "供应商"=>'proxy_id', ]; //dd($fieldArr); $infoArr=[ '免流APP'=>'free_app', '资费套餐'=>'describe', '注意事项'=>'content', '每年流量(G'=>'flow_year', '费用'=>'fee', '首月免月租'=>'first_month_free', '前多少名免单'=>'flow_free_limit', '简介'=>'describe', ]; //加载文件 $insert = []; try { if (!$PHPExcel = $reader->load($filePath)) { throw_user(__('Unknown data format')); } $currentSheet = $PHPExcel->getSheet(0); //读取文件中的第一个工作表 $allColumn = $currentSheet->getHighestDataColumn(); //取得最大的列号 $allRow = $currentSheet->getHighestRow(); //取得一共有多少行 $maxColumnNumber = Coordinate::columnIndexFromString($allColumn); $fields = []; for ($currentRow = 1; $currentRow <= 1; $currentRow++) { for ($currentColumn = 1; $currentColumn <= $maxColumnNumber; $currentColumn++) { $val = $currentSheet->getCellByColumnAndRow($currentColumn, $currentRow)->getValue(); $fields[] = preg_replace("/\s+/",'',$val); } } for ($currentRow = 2; $currentRow <= $allRow; $currentRow++) { $values = []; for ($currentColumn = 1; $currentColumn <= $maxColumnNumber; $currentColumn++) { $val = $currentSheet->getCellByColumnAndRow($currentColumn, $currentRow)->getValue(); $values[] = is_null($val) ? '' : $val; } $row = []; $row_info = []; $temp = array_combine($fields, $values); foreach ($temp as $k => $v) { if (isset($fieldArr[$k]) && $k !== '') { $row[$fieldArr[$k]] = $v; } if(isset($infoArr[$k]) && $k!==''){ $row_info[$infoArr[$k]]=$v; } } if(!$row['no'] || Mobile::withTrashed()->where('no',$row['no'])->find()){ continue; } Db::startTrans(); if($type==1) { $row['proxy_id'] = Admin::where('nickname', $row['proxy_id'])->value('id'); if (!$row['proxy_id']) { Db::rollback(); continue; } } $row['admin_id']=$admin_id; $row['type']=$type; $row['status']=0; $mobile=(new Mobile); $mobile->allowField(true)->save($row); if(!$mobile){ Db::rollback(); continue; } $info=$mobile->info()->save($row_info); if(!$info){ Db::rollback(); continue; } Db::commit(); } } catch (Exception $exception) { throw $exception; throw_user($exception->getMessage()); } } }