tp5做的excel导入(用的PHPexcel类),有缺陷2007与2003只能二选一

Posted _zxd

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了tp5做的excel导入(用的PHPexcel类),有缺陷2007与2003只能二选一相关的知识,希望对你有一定的参考价值。

public function excelInsert()
    {
        if($this->request->isPost())
        {
            $filestr = $this->request->param();

        Loader::import(‘phpExcel‘,EXTEND_PATH);
        //Loader::import(‘PHPExcel.Classes.PHPExcel.IOFactory.PHPExcel_IOFactory‘);
        Loader::import(‘PHPExcel.PHPExcel.IOFactory‘,EXTEND_PATH);
        Loader::import(‘PHPExcel.PHPExcel.Reader.Excel5‘,EXTEND_PATH);

       $file = request()->file(‘file‘);
            $info = $file->validate([‘size‘=>156780,‘ext‘=>‘xlsx,xls,csv‘])->move(ROOT_PATH . ‘public‘ . DS . ‘excel‘); 
            if ($info)
            {
                //echo $info->getFilename();
                $exclePath = $info->getSaveName();  //获取文件名
                $file_name = ROOT_PATH . ‘public‘ . DS . ‘excel‘ . 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);
                $data = [];
                foreach($excel_array as $k=>$v)
                {
                    $data[$k][‘price‘] = isset($v[16])==true ? $v[16] : ‘‘;
                    $data[$k][‘group‘] = isset($v[17])==true ? $v[17] : ‘‘;
                    $data[$k][‘flag‘] = isset($v[18])==true ? $v[18] : ‘‘;
                    $data[$k][‘status‘] = 1;
                    
                }
                $rtn = Db::table(‘表‘)->insertAll($data); //批量插入数据
                if($rtn)
                {
                    $this->success(‘导入完成‘);
                }
            }
            else
            {
                echo $file->getError();
            }
        }
    }

类放在extend里




以上是关于tp5做的excel导入(用的PHPexcel类),有缺陷2007与2003只能二选一的主要内容,如果未能解决你的问题,请参考以下文章

tp5 Excel 批量导入 --- 2019-07-17

tp5 Excel导入

tp5--Excel表格导入导出

tp5 数据库信息导出到excel(带图片)

TP5.0 excel 导入导出

tp5 composer phpexcel使用方法