• excel导入功能


    1.上github下载PHPExcel,链接:https://github.com/PHPOffice/PHPExcel

    2.下载解压后,将Classes改名为PHPExcel如图

    3.将文件夹复制到项目内extend

    4.html代码

    <form method="post" action="/admin/pos/posImport" class="form-signin" enctype="multipart/form-data" role="form"  id="form" >
          <input name="excel" type="file" class="form-control excel_path">
          <input type="submit" value="导入Excel" class="btn btn-lg btn-primary btn-block">
    </form>

     5.php代码

    //上传excel文件
            $file = request()->file('excel');
            //将文件保存到public/uploads目录下面
            $info = $file->validate(['size'=>1048576,'ext'=>'xls,xlsx'])->move( './uploads');
            if($info){
                //获取上传到后台的文件名
                $fileName = $info->getSaveName();
                //获取文件路径
                $filePath = Env::get('root_path').'public'.DIRECTORY_SEPARATOR.'uploads'.DIRECTORY_SEPARATOR.$fileName;
                //获取文件后缀
                $suffix = $info->getExtension();
                //判断哪种类型
                if($suffix=="xlsx"){
                    $reader = PHPExcel_IOFactory::createReader('Excel2007');
                }else{
                    $reader = PHPExcel_IOFactory::createReader('Excel5');
                }
            }else{
                $this->error('文件过大或格式不正确导致上传失败-_-!');
            }
            //载入excel文件
            $excel = $reader->load("$filePath",$encode = 'utf-8');
            //读取第一张表
            $sheet = $excel->getSheet(0);
            //获取总行数
            $row_num = $sheet->getHighestRow();
            //获取总列数
            $col_num = $sheet->getHighestColumn();
            $data = []; //数组形式获取表格数据
            for ($i = 2; $i <= $row_num; $i ++) {
                $data[$i]['code']  = $sheet->getCell("A".$i)->getValue();
                $data[$i]['last_code']  = substr($sheet->getCell("A".$i)->getValue(),-6);
                $time = date('Y-m-d H:i',PHPExcel_Shared_Date::ExcelToPHP($sheet->getCell("B".$i)->getValue()));//将excel时间改成可读时间
                $data[$i]['time'] = strtotime($time);
                //将数据保存到数据库
            }
            $res = Db::name('pos_code')->insertAll($data);

     如此便可以导入表格了

    原文: https://www.cnblogs.com/BearLee/p/10345764.html

  • 相关阅读:
    C#的集合类(二)Hashtable、SortedList、Dictionary
    下载文件-JavaScript
    ASP.NET(C#)图片加文字、图片水印
    C# DataTable 互转 List<T>
    C# 将 DataTable 转 List<T>、首行转 T
    C# 金额转中文大写
    监听端口守护进程
    数据库操作的九大步骤
    日志方法
    sqlserver 查找所有子级
  • 原文地址:https://www.cnblogs.com/init-007/p/11195859.html
Copyright © 2020-2023  润新知