tp5中excel导入数据
1:表单页面:
<input type="file" name="file" id="">
所放的目录:
3:控制器里方法:
//Excel导入会员
public function ExcelAdd(){
if(request()->isPost()){
if (!empty($_FILES)){
import('PHPExcel.PHPExcel', EXTEND_PATH);
//vendor("PHPExcel.PHPExcel"); // 导入PHPExcel类库
$PHPExcel = new \PHPExcel(); // 创建PHPExcel对象,注意,不能少了\
$file = request()->file('file');
$info = $file->validate(['size'=>15678,'ext'=>'xlsx,xls,csv'])->move(ROOT_PATH . 'Uploads' . DS . 'Excel');
if($info){
$exclePath = $info->getSaveName(); //获取文件名
$file_name = ROOT_PATH . 'Uploads' . DS . 'Excel' . DS . $exclePath; //上传文件的地址
$objReader =\PHPExcel_IOFactory::createReader('Excel2007');
$obj_PHPExcel =$objReader->load($file_name, $encode = 'utf-8'); //加载文件内容,编码utf-8
$excel_array=$obj_PHPExcel->getsheet(0)->toArray(); //转换为数组格式
array_shift($excel_array); //删除第一个数组(标题);
$i=0;
//$data = [];
//foreach($excel_array as $k=>$v) {
//print_r($v);
// $data = [];
//$data[$k]['username'] = $v[0];
//$data[$k]['tellphone'] = $v[1];
//$data[$k]['password']=md5(substr(md5(123456),0,10));
// $mem = model('member');//实例化model
//$success=$mem->addmember($data);
//}
foreach($excel_array as $k=>$v) {
//print_r($v);
$data = [];
$data['username'] = $v[0];
$data['tellphone'] = $v[1];
$data['password']=md5(substr(md5(123456),0,10));
$mem = model('member');//实例化model
$success=$mem->addmember($data);
}
//print_r($data);die;
//$success=Db::name('t_station')->insertAll($data); //批量插入数据
if($success){
$this->success("导入成功");
} else{
$this->error("导入失败");
}
} else{
// 上传失败获取错误信息
echo $file->getError();
}
}else {
return $this->fetch();
}
}else{
return $this->fetch();
}
}