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

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

将下载下来PHPExcel中的Classes里的文件复制到项目里(这个博主放到了vender目录中并重新起名PHPExcel)
thinkphp+phpexcel导入表格将数据存到数据库中_第1张图片
thinkphp+phpexcel导入表格将数据存到数据库中_第2张图片
直接上代码

<button type="button" class="layui-btn" id="importExcel" style="float: right" ><i class="layui-icon">i>导入Excelbutton>
 //导入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' => '导入失败!']);
       }
   }
}

你可能感兴趣的:(tp,PHPExcel)