昨天讲了如何利用Laravel的Excel扩展类去创建一个excel文件,今天来讲讲如何读取一个excel文件,这个在我们日常开发中经常遇到。比如,做一个excel导入功能,读取excel里的数据,并存进数据库中。这时候就需要今天讲到的知识点了。
下面是代码:
public function loadExcelForUser(){
$file = storage_path('app/public/excel/user.xlsx');//获取\storage\app\public\excel\user.xlsx文件路径
\Excel::load($file,function($reader){
$reader = $reader->all();//获取当前文件对象实例
$data = $reader->toArray();//将当前对象实例转为数组
//我们假设要将数据存入user表中,文件内的数据都是用户数据
//主要包含用户的username,sex,age等信息;
unset($data[0]);//去掉header表头信息,看自己的文件里有没有,随实际情况操作
$userData = [];
foreach($data as $val) {
$userData[] = [
'username' => $val[0],
'sex' => $val[1],
'age' => $val[2]
]
}
User::insert($userData);
});
}