【tp5.1】通过PHPExcel实现导入excel表格
1.上github下载PHPExcel,链接:https://github.com/PHPOffice/PHPExcel
2.下载解压后,将Classes改名为PHPExcel如图

3.将文件夹复制到项目内extend
4.html代码
<form method="post" action="/admin/pos/posImport" class="form-signin" enctype="multipart/form-data" role="form" id="form" ><input name="excel" type="file" class="form-control excel_path"><input type="submit" value="导入Excel" class="btn btn-lg btn-primary btn-block"> form>
5.php代码,tp5.1取消了vendor和import
//上传excel文件$file = request()->file('excel');//将文件保存到public/uploads目录下面$info = $file->validate(['size'=>1048576,'ext'=>'xls,xlsx'])->move( './uploads');if($info){//获取上传到后台的文件名$fileName = $info->getSaveName();//获取文件路径$filePath = Env::get('root_path').'public'.DIRECTORY_SEPARATOR.'uploads'.DIRECTORY_SEPARATOR.$fileName;//获取文件后缀$suffix = $info->getExtension();//判断哪种类型if($suffix=="xlsx"){$reader = \PHPExcel_IOFactory::createReader('Excel2007');}else{$reader = PHPExcel_IOFactory::createReader('Excel5');}}else{$this->error('文件过大或格式不正确导致上传失败-_-!');}//载入excel文件$excel = $reader->load("$filePath",$encode = 'utf-8');//读取第一张表$sheet = $excel->getSheet(0);//获取总行数$row_num = $sheet->getHighestRow();//获取总列数$col_num = $sheet->getHighestColumn();$data = []; //数组形式获取表格数据for ($i = 2; $i <= $row_num; $i ++) {$data[$i]['code'] = $sheet->getCell("A".$i)->getValue();$data[$i]['last_code'] = substr($sheet->getCell("A".$i)->getValue(),-6);$time = date('Y-m-d H:i',\PHPExcel_Shared_Date::ExcelToPHP($sheet->getCell("B".$i)->getValue()));//将excel时间改成可读时间$data[$i]['time'] = strtotime($time);//将数据保存到数据库 }$res = Db::name('pos_code')->insertAll($data);
如此便可以导入表格了,导出表格晚些更新
转载于:https://www.cnblogs.com/BearLee/p/10345764.html
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
