tp5 导入Excel到数据库

1:下载PHPExcel 包
https://github.com/PHPOffice/PHPExcel
放到 vendor 文件夹里
在这里插入图片描述
前端代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<form action="{:url('index.php/index/Excel/save')}" method="post" class="form form-horizontal" enctype="multipart/form-data">
    <div class="row cl">
        <label class="form-label col-xs-4 col-sm-3"><span class="c-red">*</span>导入数据:</label>
        <div class="formControls col-xs-8 col-sm-9">
            <input type="file" name="excel" />
        </div>
    </div>
    <div class="row cl">
        <div class="col-xs-8 col-sm-9 col-xs-offset-4 col-sm-offset-3">
            <input class="btn btn-primary radius"  type="submit" value="&nbsp;&nbsp;提交&nbsp;&nbsp;">
        </div>
    </div>
</form>
</body>
</html>

控制器代码

<?php
namespace app\index\controller;
use think\Controller;
use think\Db;//引入数据库
class Excel extends Controller
 {
   public function save(){
       if(request() -> isPost())
       {
           vendor("PHPExcel.PHPExcel"); 
           $objPHPExcel =new \PHPExcel();
           //获取表单上传文件
           $file = request()->file('excel');
           $info = $file->validate(['ext' => 'xlsx'])->move(ROOT_PATH . 'public');  //上传验证后缀名,以及上传之后移动的地址  E:\wamp\www\bick\public
           if($info)
           {
//              echo $info->getFilename();
               $exclePath = $info->getSaveName();  //获取文件名
               $file_name = ROOT_PATH . 'public' . DS . $exclePath;//上传文件的地址
               $objReader =\PHPExcel_IOFactory::createReader("Excel2007");
               $obj_PHPExcel =$objReader->load($file_name, $encode = 'utf-8');  //加载文件内容,编码utf-8
               $excel_array=$obj_PHPExcel->getSheet(0)->toArray();   //转换为数组格式
               array_shift($excel_array);  //删除第一个数组(标题);
               $city = [];
               $i=0;
               foreach($excel_array as $k=>$v) {
                   $city[$k]['name'] = $v[0];
                   $city[$k]['code'] = $v[1];

                   $i++;
               }
               Db::name("area_code")->insertAll($city);
           }else
           {
               echo $file->getError();
           }
       }
   }
   public function r(){
       return $this->fetch('upload');
   }



 }


  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值