thinkphp+phpexcel导入表格将数据存到数据库中

    技术2023-10-04  102

    PHPExcel下载地址 https://github.com/PHPOffice/PHPExcel

    将下载下来PHPExcel中的Classes里的文件复制到项目里(这个博主放到了vender目录中并重新起名PHPExcel) 直接上代码

    <button type="button" class="layui-btn" id="importExcel" style="float: right" ><i class="layui-icon"></i>导入Excel</button> //导入excel var uploadInst = upload.render({ elem: '#importExcel' ,url: "" //接口地址 ,accept: 'file' //普通文件 ,exts: 'csv|xlsx|xls' ,before: function(obj){ layer.msg('表格导入中...', { icon: 16, shade: 0.01, time: 0 }) } ,done: function(res){ layer.msg(res.msg,{time:1500},function () { if(res.code ==1){ table.reload('LAY-user-manage'); } }) } });

    后台代码

    public function importExcel(){ $file = $this->request->file('file'); // 移动到框架应用根目录/public/uploads/ 目录下 $info = $file->move(ROOT_PATH . 'public' . DS . 'upload' . DS . 'excel'); if ($info) { $path = ROOT_PATH . 'public' . DS . 'upload' . DS . 'excel/' . $info->getSaveName(); vendor('PHPExcel.PHPExcel'); $extension = $info->getExtension(); if ($extension == 'xlsx') { $objReader = new \PHPExcel_Reader_Excel2007(); } else { $objReader = new \PHPExcel_Reader_Excel5(); } $objPHPExcel = $objReader->load($path, $encode = 'utf-8');//获取excel文件 $sheet = $objPHPExcel->getSheet(0); //激活当前的表 $highestRow = $sheet->getHighestRow(); // 取得总行数 $highestColumn = $sheet->getHighestColumn(); // 取得总列数 $data = array(); $a = 0; for($i=2;$i<=$highestRow;$i++){ //读取表中内容 $data[$a]['nickname'] = $sheet->getCell("A".$i)->getValue(); $data[$a]['mobile'] = $sheet->getCell("B".$i)->getValue(); $a++; } $status = Db::name('users')->insertAll($data); if ($status) { return json(['code' => 1, 'msg' => '导入成功!']); } else { return json(['msg' => '导入失败!']); } } }
    Processed: 0.015, SQL: 9