zoukankan      html  css  js  c++  java
  • TP5导入EXCEL到数据库

    前期准备工作:

    1.下载PHPExcel放到vendor下

     2.前端页面:

      <form action="save" method="post" enctype="multipart/form-data">
                <div class="time-add clearfix">
                    <input type="submit" disabled name="submit" class="submit" value="提交" />
                    <a class="dianji" href="javascript:;">
                        <input type="file" name="file" id="fileupload" class="inputfile" style="position: absolute;display: none;"/>
                        <label class="span" for="fileupload">批量导入用餐记录</label>
                    </a>
                </div>
            </form>

    3.后端代码

    public function save(){
    
            //设置文件上传的最大限制
            ini_set('memory_limit','1024M');
            //加载第三方类文件
            vendor("PHPExcel.PHPExcel");
            //防止乱码
            header("Content-type:text/html;charset=utf-8");
            //实例化主文件
            //接收前台传过来的execl文件
            $file = $_FILES['file'];
            //截取文件的后缀名,转化成小写
            $extension = strtolower(pathinfo($file['name'],PATHINFO_EXTENSION));
            if($extension == "xlsx"){
                //2007(相当于是打开接收的这个excel)
                $objReader =PHPExcel_IOFactory::createReader('Excel2007');
            }else{
                //2003(相当于是打开接收的这个excel)
                $objReader = PHPExcel_IOFactory::createReader('Excel5');
            }
    
            $objContent = $objReader -> load($file['tmp_name']);
    
            if ($objContent){
                $sheetContent = $objContent -> getSheet(0) -> toArray();
                //删除第一行标题
                unset($sheetContent[0]);
                $time= $mothtime= strtotime(date("Y-m-d H:i:s", strtotime("-1 month")));
                foreach ($sheetContent as $k => $v){
                    $arr['name'] = $v[1];
                    $arr['card_number'] = $v[2];
                    $arr['department_name'] = $v[3];
                    $arr['breakfast'] = $v[4];
                    $arr['lunch'] = $v[5];
                    $arr['dinner'] = $v[6];
                    $arr['supper'] = $v[7];
                    $arr['total'] = $v[8];
                    $arr['create_time'] = $time;
                    $res[] = $arr;
                }
                //删除最后一行汇总
                array_pop($res);
    
                $re = Db::name('dining')
                    ->insertAll($res);
                if($re){
                    $this->success('导入成功 !');
                }else{
                    $this->error('导入失败 !');
                }
            }else{
                $this->error('请导入表格 !');
            }
        }
    人生得意须尽欢,莫使金樽空对月.
  • 相关阅读:
    阿里云oss怎么上传文件夹
    HTTP文件上传服务器-支持超大文件HTTP断点续传的实现办法
    让富文本编辑器支持复制doc中多张图片直接粘贴上传
    CSDN-markdown 文字样式设置(字体, 大小, 颜色, 高亮底色)
    网络编程基础知识点
    inet_addr 和inet_ntoa函数作用
    sockaddr和sockaddr_in的区别
    简析TCP的三次握手与四次分手
    TCP三次握手和四次挥手原理分析
    htons(), ntohl(), ntohs(),htons() 函数功能
  • 原文地址:https://www.cnblogs.com/luojie-/p/12075880.html
Copyright © 2011-2022 走看看