1.先下载 导入excel类(我自己找的)
链接:https://pan.baidu.com/s/1eXkwUV1fI60yq0rSjokbSg 密码:2mo5
放入到think\vendor中
然后html代码
- <!DOCTYPE html>
- <html lang="en">
- <head>
- <meta charset="UTF-8">
- <title>Document</title>
- </head>
- <body>
- <center>
- <form action="addexcel" method="post" enctype="multipart/form-data">
- 选择文件:<input type="file" name="file">
- <input type="submit" value="上传">
- </form>
- </center>
- </body>
- </html>
然后接收到excel表格的和处理、添加数据库的方法
- public function addexcel()
- {
- vendor("PHPExcel.PHPExcel"); //获取PHPExcel类
- $excel = new \PHPExcel();
- $file = request()->file('file');
- $info = $file->validate(['size'=>15678,'ext'=>'xlsx,xls,csv'])->move(ROOT_PATH . 'public' . DS . 'excel');
- if($info){
- $exclePath = $info->getSaveName(); //获取文件名
- $file_name = ROOT_PATH . 'public' . DS . 'excel' . DS . $exclePath; //上传文件的地址
- $objReader =\PHPExcel_IOFactory::createReader('Excel2007');
- $obj_PHPExcel =$objReader->load($file_name, $encode = 'utf-8'); //加载文件内容,编码utf-8
- echo "<pre>";
- $excel_array=$obj_PHPExcel->getsheet(0)->toArray(); //转换为数组格式
- // array_shift($excel_array); //删除第一个数组(标题);
- $arr = reset($excel_array);
- unset($excel_array[0]);
- $data = [];
- $i=0;
- foreach($excel_array as $k=>$v) {
- $data[$k][$arr[0]] = $v[0];
- $data[$k][$arr[1]] = $v[1];
- $i++;
- }
- $res = Db::table('user')->insertAll($data);
- var_dump($res);
- }