1.下载phpoffice组件
composer require phpoffice/phpexcel
2.下载成功后使用phpexcel
![]()
3.遍历插入数据库
public function create()
{
$file = request()->file('file');
if (empty($file)) {
//返回您还没有上传文件!!
return 3;
}
$excel = new PHPExcel();
$info = $file->validate(['ext'=>'xlsx,xls,csv'])->rule('uniqid')->move(ROOT_PATH.'public'.DS.'uploads' . DS . 'excel');
if(!$info){
//判断传过来的文件类型
return 5;
}else{
$exclePath = $info->getSaveName(); //获取文件名
$file_name = ROOT_PATH . 'public' . DS .'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(); //转换为数组格式
$data = [];
$i=0;
foreach($excel_array as $k=>$v) {
$data[$k]['name'] = $v[0];
$data[$k]['phone'] = $v[1];
$data[$k]['sex'] = $v[2];
$data[$k]['time'] = strtotime(date('Y-m-d',time()));
$data[$k]['create_time'] = strtotime(date('Y-m-d',time()));
$data[$k]['update_time'] = strtotime(date('Y-m-d',time()));
$i++;
}
$res = Db::table('name')->insertAll($data);
if($res){
return 1;
}else{
return 2;
}
}
}
ThinkPHP5.0 excel批量导入数据库实战
该博客介绍了如何在ThinkPHP5.0中利用phpoffice组件进行Excel文件的批量导入,并详细讲解了从下载组件到遍历数据插入数据库的步骤,最后提到了前端只需实现简单的文件上传功能。
764

被折叠的 条评论
为什么被折叠?



