thinkphp3.2 mysql导入excel数据

在tp3.2中使用phpexcelreader,实现mysql导入excel数据。
新建一个控制器随便,在调用方法中放入下面代码

              // ExcelFile($filename, $encoding);
                $data = new \Org\Util\Reader();//将需要使用的文件放入org/util
                // Set output Encoding.
                $data->setOutputEncoding('utf-8');
                //”$_FILES['files']['tmp_name']”是指要导入到mysql中的excel文件
                $data->read($_FILES['files']['tmp_name']);
                $datas =array();
                /** 事务开启*/
                $model = new \Think\Model();
                $model->startTrans();//开启事务
                /** 事务开启结束*/
                if($data->sheets[0]){
                    for ($i = 2; $i <= $data->sheets[0]['numRows']; $i++) {
                        //以下代码是将excel表数据【3个字段】插入到mysql中,根据你的excel表字段的多少,改写以下代码吧!
                        if($ids[0]==1){
                            $check = 0;
                        }elseif($ids[0]==2){
                            $check = 1;
                        }else{
                            $this->error( '参数错误');
                            die;
                        }
                        $datas['art_title'] = $data->sheets[0]['cells'][$i][1];
                        $datas['zhubian'] = $data->sheets[0]['cells'][$i][2];
                        $datas['chubanshe'] = $data->sheets[0]['cells'][$i][3];
                        $datas['shuhao'] = $data->sheets[0]['cells'][$i][4];
                        $datas['shijian'] = $data->sheets[0]['cells'][$i][5];
                        $datas['dingjia'] = $data->sheets[0]['cells'][$i][6];
                        $datas['art_time'] = $post['art_time'];
                        $datas['cate_pid'] = $ids[1];
                        $datas['check'] = $check;

//                        $sql = "INSERT INTO cms_zhishi(art_title,zhubian,chubanshe,shuhao,shijian,dingjia,check,art_time) VALUES('" .
//                            $data->sheets[0]['cells'][$i][2] . "','" . $data->sheets[0]['cells'][$i][3] . "','" . $data->sheets[0]['cells'][$i][4] ."','" . $data->sheets[0]['cells'][$i][5] ."','" . $data->sheets[0]['cells'][$i][6] ."','" . $data->sheets[0]['cells'][$i][7] ."','".$check. "','".$post['art_time']."')";
//                        $res = $this->zhishiObj->execute($sql);
                        $res = $this->zhishiObj->storeData($datas);//插入数据库
                        if(!$res){
                            $model->rollback();//判断插入失败整个回滚
                            $this->error('数据导入失败!');
                            die;
                        }
                    }
                    $model->commit();//执行事务
                    $this->success( '添加成功',U( 'Phpexcel/lists' ) );//成功跳转的路径

                }else{
                    $this->error( 'excel文件问题!请检查sheet1(第一个)是否有内容,如无问题请联系管理员');
                }

  • 前台html代码
<form action="" method="post" enctype="multipart/form-data">

        <table class="add_tab">
            <tbody>
            <tr>
                <th>excel导入数据:</th>
                <td>
                    <div id='mainpre'style=""></div>
                    <span id="up-btn" class="btn btn-success fileinput-button btn-sm up-btn-style" style="">
                        <input  type="file" name="files">
                    </span>
                    <span><i class="fa fa-exclamation-circle yellow"></i>选择excel文件</span>
                    <!-- 上传成功文件显示区 -->
                </td>
            </tr>
            <tr>
                <th></th>
                <td>
                    <input type="submit"  value="提交">
                    <input type="button" class="back" onclick="history.go(-1)" value="返回">
                </td>
            </tr>
            </tbody>
        </table>
    </form>
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,242评论 25 708
  • 笔墨里的时光#26/30 爸妈结婚之后,也是摸索中过日子。妈妈是姥姥最小的女儿,在姥姥家的时候只会干农活,...
    柠檬草LF阅读 169评论 0 2
  • 初次相识,你甜美的笑容就很温暖,是一种发自内心的真诚,带着纯澈的感情,只因为眼神里带着那种没有掩饰的清亮。 你有着...
    残阳物语阅读 452评论 4 9
  • 谁能告诉我,哪篇文章写得精妙绝伦,让你看了直呼过瘾和爽?哪篇文章你看了以后,就会立刻心情不好,甚至丧失活下去的勇气...
    高瑞沣阅读 168评论 3 2
  • 虽然岁月磨平了我们的棱角,但内心住着的那个小孩还是不愿意长大。 祝地球上每一个人,六一儿童节快乐! 和每一个智障一...
    驰而不息的小贝壳阅读 207评论 0 0