php导入Excel实例,直接上代码,亲测可用
//文件后缀 $allow_type = array( "xls" => "Excel5", "xlsx" => "Excel2007", ); $type = strtolower(substr($_FILES["myfile"]["name"],strripos($_FILES["myfile"]["name"],".")+1)); if(!array_key_exists($type,$allow_type)){ lyg::showmsg('文件类型错误,请重新选择'); } $newname = uniqid(); $newname = "tmp/{$newname}.{$type}"; move_uploaded_file($_FILES["myfile"]["tmp_name"],$newname); require_once("include/PHPExcel/PHPExcel.php"); require_once("include/PHPExcel/PHPExcel/IOFactory.php"); //以上三步加载phpExcel的类 $objReader = PHPExcel_IOFactory::createReader($allow_type[$type]); //接收存在缓存中的excel表格 $objPHPExcel = $objReader->load($newname); $sheet = $objPHPExcel->getSheet(0); //载入第一个工作簿 $highestRow = $sheet->getHighestRow(); // 取得总行数 // $highestColumn = $sheet->getHighestColumn(); // 取得总列数 //$sheet = $objPHPExcel->getActiveSheet(); //上面这句,会默认读取Excel的活动工作簿 $suc = 0; $err = 0; for($j=2;$j<=$highestRow;$j++){ $a = $sheet->getCell("A".$j)->getValue(); $b = $sheet->getCell("B".$j)->getValue(); $c = $sheet->getCell("C".$j)->getValue(); $d = $sheet->getCell("D".$j)->getValue(); $e = $sheet->getCell("E".$j)->getValue(); $arr = array( "goods" =>$b, "no" =>$c, "stock" =>$d, "price" =>$e, ); $class_id = addClass($a); $arr["class_id"] = $class_id; $ok = addGoods($arr); if($ok){ $suc++; }else{ $err++; } }
用的是上传Excel文件后实现读取并入库,其中没用的方法就没贴出来了,到了abcde这里就已经取到数据了。