thinkcmf 使用phpexce 批量导入

用的是thinkcmf5.3 ,本地环境phpstudy
首先安装phpexcel,我用的是composer直接安装

composer require phpoffice/phpexcel

因为头一次用,所以比较诡异
在这里插入图片描述

然后引入
use PHPExcel_IOFactory;
use PHPExcel;

  public function  excel_post()
    {
      header("content-type:text/html; charset=utf-8");
      $PHPExcel        = new \PHPExcel();

        $objPHPExcel = new \PHPExcel();

      if($this->request->isPost()){ 

              $file_url = input('file_url');
              $file_name = input('file_name');//文件名
              $file_url = './upload/'.$file_url;//文件url
              $extension = cmf_get_file_extension($file_name);//文件扩展名

              if(empty($file_url)){
                  $this->error('请先上传excel!');
              }


              if($extension == 'xlsx'){
                  $objReader =PHPExcel_IOFactory::createReader('Excel2007');
                  $objPHPExcel = $objReader->load($file_url, $encode = 'utf-8');  //加载文件内容,编码utf-8
              }else if($extension == 'xls'){
                  $objReader =PHPExcel_IOFactory::createReader('Excel5');
                  $objPHPExcel = $objReader->load($file_url, $encode = 'utf-8');  //加载文件内容,编码utf-8
              }else{
                  $this->error('请上传Excel格式的文件!','');
              }

              $excel_array=$objPHPExcel->getsheet(0)->toArray();   //转换为数组格式
              array_shift($excel_array);  //删除第一个数组(标题);
              $data = [];
              foreach($excel_array as $k=>$v) {
                  $data[$k]['name'] = $v[0];
                  $data[$k]['phone'] = $v[1];
                  $data[$k]['status'] = 0;
                  $data[$k]['approval_status'] = 0;
                  $data[$k]['edit_time'] = time();
              } 
              if(Db::name('referee')->insertAll($data)){

                       //写入日志

                    
                      $last_info=serialize($data);
                      $rizhi_data=array(
                          'action'=>'批量添加的仲裁员',//动作
                          'user_id'=>cmf_get_current_admin_id(),//用户信息
                          'time'=>time(),//操作时间
                          'details'=>$last_info,//详情
                          'type'=>'1',//  0 案件信息   1 仲裁员管理
                      );
                      Db::name('journal')->insert($rizhi_data);


                  $this->success('导入数据成功!', url('referee/index/index'));
              } else {
                  $this->error('导入数据失败!', url('referee/index/index'));
              }
        }


    }

这里是前台的

   <form action="{:url('referee/index/excel_post')}" method="post" class="form-horizontal js-ajax-form margin-top-20">
        <div class="row">
            <div class="col-md-2 col-md-offset-4">
                <input id="file-1" type="hidden" name="file_url" >
                <input  id="file-1-name" type="text" name="file_name" title="" class="form-control">

            </div>
            <div class="col-md-2">
                <a href="javascript:uploadOne('图片上传','#file-1','file');" class="btn btn-success">上传excel</a>
            </div>
        </div>
        <div class="form-group margin-top-20">
            <div class="col-md-offset-4 col-md-2"><!-- js-ajax-submit -->
                <button type="submit" class="btn btn-primary  ">确定</button>
                <a class="btn btn-default" href="{:url('ReportUser/index')}">{:lang('BACK')}</a>
            </div>
        </div>
    </form>
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值