TP5.1中利用Excel库导入数据到mysql
- 利用composer下载类库
composer require phpoffice/phpspreadsheet
- 找到源码在vender下面有个最新下载的phpoffice类库,找到samples下面的Basic,查看里面的自带demo
- 自己新建一个xls文档,用来做测试使用,如果所示
- 编写上传程序,此处前端省略(直接看代码里面的注释)
public function upload(Request $request)
{
//通过注入的request对象获取上传的文件
$file = $request->file('excel');
//对文件大小和格式进行验证
$info = $file->validate(['size'=>5*1024*1024,'ext'=>'xls'])->move( 'uploads/excel');
if(!$info){
$this->error($file->getError());
}
//声明读取的文件格式
$objReader = IOFactory::createReader('Xls');
//加载excel文件
$objPHPExcel = $objReader->load(Env::get('root_path').'publicuploadsexcel\'.$info->getSaveName());
//读取默认工作表
$worksheet = $objPHPExcel->getSheet(0);
//取得一共有多少行
$allRow = $worksheet->getHighestRow();
$data = [];
for ($i = 3; $i <= $allRow; $i )
{
$data['car_num'] = $objPHPExcel->getActiveSheet()->getCell('A'.$i)->getValue();
$data['car_name'] = $objPHPExcel->getActiveSheet()->getCell('B'.$i)->getValue();
//防止出现空白Excel导致mysql报错,对数据做下判断
if(empty($data['car_num']) && empty($data['car_name'])){
//跳出循环
break;
}
$data['add_time'] = time();
//插入数据库
$suc = appadminmodelCar::create($data);
}
if($suc){
echo "<script>alert('导入成功');window.location.href='/admin/car/index';</script>";
}else{
echo "<script>alert('导入失败');window.history.go(-1);</script>";
}
}
本文为北溟有鱼QAQ原创文章,转载无需和我联系,但请注明来自北溟有鱼QAQ https://www.umdzz.cn