PHP建站技术分享-从入门到精通PHP建站技术分享-从入门到精通PHP建站技术分享-从入门到精通

QQ:420220301 微信/手机:150-3210-7690
当前位置:首页 > CMS教程 > Fastadmin

关于fastadmin的重写import问题答案

管理员 2024-12-14
Fastadmin
7

fastadmin的导入满足不了自定义需求,需要重写。查询了论坛后发现了各种这样的小问题,现把OK的代码贴在下面。
html:
image.png
对应的jsw文件:

image.png

controller:

 public function import(){        $file = $this->request->request('file');        if (!$file) {            $this->error(__('Parameter %s can not be empty', 'file'));        }        $filePath = ROOT_PATH . DS . 'public' . DS .$file;        if (!is_file($filePath)) {            $this->error(__('No results were found'));        }        vendor("PHPExcel.PHPExcel");        //实例化PHPExcel类(注意:实例化的时候前面需要加'')        $objReader=new PHPExcel_Reader_Excel5();        $objPHPExcel = $objReader->load($filePath,$encode='utf-8');//获取excel文件        $sheet = $objPHPExcel->getSheet(0); //激活当前的表        $highestRow = $sheet->getHighestRow(); // 取得总行数        $a=0;        //将表格里面的数据循环到数组中        for($i=2;$i<=$highestRow;$i++)        {            //*为什么$i=2? (从第二行开始,才是我们要的数据。)            $data[$a]['create'] = $objPHPExcel->getActiveSheet()->getCell("C".$i)->getValue();//日期            $data[$a]['bach'] = $objPHPExcel->getActiveSheet()->getCell("D".$i)->getValue();//单据号            $data[$a]['code'] = $objPHPExcel->getActiveSheet()->getCell("N".$i)->getValue();//存货编码            $data[$a]['name'] = $objPHPExcel->getActiveSheet()->getCell("O".$i)->getValue();//存货名称            $data[$a]['weight'] = $objPHPExcel->getActiveSheet()->getCell("R".$i)->getValue() * 1000;//数量            // 这里的数据根据自己表格里面有多少个字段自行决定            $a++;        }        //往数据库添加数据        Db::startTrans();        try{            Db::name('matter_detail')->insertAll($data);            foreach ($data as $key=>$value){                $list = Db::name('matter')->where('code',$value['code'])->find();                if ($list){                    $weight = $value['weight']+$list['weight'];                    Db::name('matter')->where('code',$value['code'])->setField('weight',$weight);                    Db::name('matter')->where('code',$value['code'])->setField('create',date('Y-m-d H:i:s',time()));                }else{                    $matter['code'] = $value['code'];                    $matter['name'] = $value['name'];                    $matter['weight'] = $value['weight'];                    $matter['create'] = $value['create'];                    Db::name('matter')->insert($matter);                }            }            Db::commit();            $this->success('导入成功');        }catch (thinkExceptionDbException $exception){            Db::rollback();            $this->error($exception->getMessage());        }    }

希望以上内容对你有所帮助!如果还有其他问题,请随时提问。 各类知识收集 拥有多年CMS企业建站经验,对 iCMS, Fastadmin, ClassCMS, LeCMS, PbootCMS, PHPCMS, 易优CMS, YzmCMS, 讯睿CMS, 极致CMS, Wordpress, HkCMS, YznCMS, WellCMS, ThinkCMF, 等各类cms的相互转化,程序开发,网站制作,bug修复,程序杀毒,插件定制都可以提供最佳解决方案。

相关推荐

扫码关注

qrcode

QQ交谈

回顶部