TP5 PHPExcel上传如何覆盖旧数据

发布于 2022-09-12 03:51:10 字数 3185 浏览 25 评论 0

QQ截图20200724160020.png

如何覆盖重复的数据 求大神指点

public function dr()
    {
        if(request()->ispost()) {

            header("content-type:text/html;charset=utf-8");
            $filelink = request()->file('gt');

            $info = $filelink->move(ROOT_PATH . '/public/' . DS . 'uploads/gt');


            $file_name = ROOT_PATH . 'public' . DS . 'uploads/gt' . DS . $info->getsaveName();

            //dump($file_name);die();

            $fnarray=explode('.', $file_name);

            $file_suffix = strtolower(array_pop($fnarray));

            $allow_type = 'xlsx';
            if ($file_suffix != $allow_type) {
                $this->error('上传的格式不正确');
            }

            //判断导入表格后缀格式
            $extension = strtolower(pathinfo($file_name, PATHINFO_EXTENSION));
            import('phpexcel.PHPExcel', EXTEND_PATH);//extend是放置自定义或者其他类文件的。vendor目录是放置composer类库文件的。
            //创建对象
            $objReader = new \PHPExcel();
            $objReader->exts = array('xlsx');

            $objReader = \PHPExcel_IOFactory::createReader('Excel2007');
            $objPHPExcel = \PHPExcel_IOFactory::load("{$file_name}");

            $arr = $objPHPExcel->getsheet(0)->toArray();
            //dump($arr);exit;

            //加载文件内容,编码utf-8
            $obj_PHPExcel = $objReader->load($file_name, $encode = 'utf-8');
            //$obj_PHPExcel->setInputEncoding('utf-8');
            //转换为数组格式
            $excel_array = $obj_PHPExcel->getsheet(0)->toArray();
            //array_shift($excel_array);//删除第一行
            $i = 1;
            $len = count($excel_array);

            for ($i = 2; $i <= $len; $i++)//这个地方根据需要,一般第一行是名称,所以从第二行开始循环,也可以从第一行开始
            {
               //数据库字段和excel列相对应

                $data["ch"] = $objPHPExcel->getActiveSheet()->getCell("D" . $i)->getValue();
                $data["qdh"] = $objPHPExcel->getActiveSheet()->getCell("E" . $i)->getValue();
                $data["ydh"] = $objPHPExcel->getActiveSheet()->getCell("F" . $i)->getValue();
                $data["xh1"] = $objPHPExcel->getActiveSheet()->getCell("G" . $i)->getValue();
                $data["xh2"] = $objPHPExcel->getActiveSheet()->getCell("H" . $i)->getValue();
                $data["fz"] = $objPHPExcel->getActiveSheet()->getCell("I" . $i)->getValue();
                $data["dz"] = $objPHPExcel->getActiveSheet()->getCell("J" . $i)->getValue();
                $data["rxtime"] = $objPHPExcel->getActiveSheet()->getCell("K" . $i)->getValue();
                $res = db('test')->insert($data);
                unset($info);

            }
            if($res){
                unlink($file_name);
                $this->success('导入成功');

            }else
            {
                $this->error('导入失败',url('index/index/index/'));
            }
        }
        $list=db('test')->count('*');
        $rs=db('test')->paginate(15);
        $this->assign('rs',$rs);
        $this->assign('list',$list);
        return view();
    }

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文