1--使用composer安装phpexcel包
composer require phpoffice/phpexcel -vvv
2-控制器
//导入数据
public function insertExcel(){
if(request() -> isPost())
{
vendor("PHPExcel.PHPExcel"); //方法一
$objPHPExcel =new \PHPExcel();
//获取表单上传文件
$file = request()->file('excel');
$info = $file->validate(['ext' => 'xlsx'])->move(ROOT_PATH . 'public'); //上传验证后缀名,以及上传之后移动的地址 E:\wamp\www\bick\public
if($info)
{
// echo $info->getFilename();
$exclePath = $info->getSaveName(); //获取文件名
$file_name = ROOT_PATH . 'public' . 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); //删除第一个数组(标题);
$city = [];
$i=0;
foreach($excel_array as $k=>$v) {
$city[$k]['id'] = $v[0];
$city[$k]['phone'] = $v[1];
$city[$k]['username'] = $v[2];
$city[$k]['nickname'] = $v[3];
$city[$k]['end_time'] = $v[4];
$city[$k]['level'] = $v[5];
$i++;
}
Db::name("users")->insertAll($city);
}else
{
echo $file->getError();
}
}
return $this->fetch("user-excel");
}
3-视图
<form action="{:url('admin/user/insertExcel')}" method="post" class="form form-horizontal" enctype="multipart/form-data">
<div class="row cl">
<label class="form-label col-xs-4 col-sm-3"><span class="c-red">*</span>导入数据:</label>
<div class="formControls col-xs-8 col-sm-9">
<input type="file" name="excel" />
</div>
</div>
<div class="row cl">
<div class="col-xs-8 col-sm-9 col-xs-offset-4 col-sm-offset-3">
<input class="btn btn-primary radius" type="submit" value=" 提交 ">
</div>
</div>
</form>