您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

Thinkphp结合PHPExcel实现数据倒入

2026/2/17 7:14:44发布14次查看
[php]代码  set_time_limit(0);//防止数据量过大超时 //处理进程 import('org.net.uploadfile'); $upload = new uploadfile(); // 实例化上传类 $upload->maxsize = 4 * 1024 * 1024; // 设置附件上传大小 $upload->allowexts = array('xls'); $upload->savepath = './upload/data/'; // 设置附件上传目录 $upload->saverule = date('ymdhis'); if (!$upload->upload()) { // 上传错误提示错误信息 echo $upload->geterrormsg(); } else { //进行异常捕获,防止导入错误 try{ //导入完成,开始数据处理流程 $info = $upload->getuploadfileinfo(); $data = $info[0]; $path = $data['savepath'].$data['savename']; /** * 开始excel处理进程 */ vendor('phpexcel.phpexcel'); $objreader = new phpexcel_reader_excel5(); $objexcel = $objreader->load($path); $objsheet = $objexcel->getactivesheet(); $rows = $objsheet->gethighestrow();//行数 /** * 单元格定义 * b 二级学科代码 * c 二级学科名称 * d 一级学科代码 * e 一级学科名称 * f 学院代码 * g 学院名称 */ //定义数组 $second_discipline_code = array(); $second_discipline_name = array(); $first_discipline_code = array(); $first_discipline_name = array(); $college_code = array(); $college_name = array(); for($i=1;$i<=$rows;$i++){ $second_discipline_code[] = $objsheet->getcell("b$i")->getformattedvalue(); $second_discipline_name[] = $objsheet->getcell("c$i")->getformattedvalue(); $first_discipline_code[] = $objsheet->getcell("d$i")->getformattedvalue(); $first_discipline_name[] = $objsheet->getcell("e$i")->getformattedvalue(); $college_code[] = $objsheet->getcell("f$i")->getformattedvalue(); $college_name[] = $objsheet->getcell("g$i")->getformattedvalue(); } //写入数据库 $firstdatamdl = m('datafirstdiscipline'); $seconddatamdl = m('dataseconddiscipline'); $first_discipline_code_backup = $first_discipline_code;//不去重复的备份 $first_discipline_code = array_unique($first_discipline_code);//去重 //一级学科导入 foreach($first_discipline_code as $k=>$v){ $temp['college_id'] = $college_code[$k]; $temp['first_discipline_code'] = $v; $temp['first_discipline_name'] = $first_discipline_name[$k]; $firstdatamdl->add($temp); } //二级学科导入 foreach($second_discipline_code as $k=>$v){ $temp['second_discipline_code'] = $v; $temp['second_discipline_name'] = $second_discipline_name[$k]; //根据一级学科代码查一级学科id $first_discipline_code_flag = $first_discipline_code_backup[$k]; $id = $firstdatamdl->where("first_discipline_code = %d",$first_discipline_code_flag)->getfield('first_discipline_id'); $temp['first_discipline_id'] = $id; $seconddatamdl->add($temp); } echo '导入成功完成!'; }catch (phpexcel_exception $e){ echo $e->getmessage(); }catch (thinkexception $e){ echo $e->getmessage(); }catch (exception $e){ echo '程序异常,导入失败!'; } }
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product