PHP写了个批量Excel导入发货,记录下

标签: PHP Excel导入
87人阅读 评论(0) 收藏 举报
分类:
function upExecel(){
        include 'data/extend/phpexcel_classes/PHPExcel.php';
        //判断是否选择了要上传的表格
        if (empty($_POST['myfile'])) {
            echo "<script>alert(您未选择表格);history.go(-1);</script>";
        }
        //获取表格的大小,限制上传表格的大小5M
        $file_size = $_FILES['myfile']['size'];
        if ($file_size>5*1024*1024) {
            echo "<script>alert('上传失败,上传的表格不能超过5M的大小');history.go(-1);</script>";
            exit();
        }
        //限制上传表格类型
        $file_name = $_FILES['myfile']['name'];
            //application/vnd.ms-excel  为xls文件类型
        $extension = strtolower( pathinfo($file_name, PATHINFO_EXTENSION) );

        //判断表格是否上传成功
        if (is_uploaded_file($_FILES['myfile']['tmp_name'])) {

            //接收存在缓存中的excel表格
            $filename = $_FILES['myfile']['tmp_name'];
            if ($extension =='xlsx') {
                $objReader = \PHPExcel_IOFactory::createReader('Excel2007');//use excel2007 for 2007 format
                $objPHPExcel = $objReader ->load($filename);
            } else if ($extension =='xls') {
                $objReader = \PHPExcel_IOFactory::createReader('Excel5');//use excel2007 for 2007 format
                $objPHPExcel = $objReader ->load($filename);
            }
            //$objPHPExcel = $objReader->load($filename); //$filename可以是上传的表格,或者是指定的表格
            $sheet = $objPHPExcel->getSheet(0);
            $highestRow = $sheet->getHighestRow(); // 取得总行数
            // $highestColumn = $sheet->getHighestColumn(); // 取得总列数
            //循环读取excel表格,读取一条,插入一条
            //j表示从哪一行开始读取  从第二行开始读取,因为第一行是标题不保存
            /*if ($shipping_type == 1) {
                $res = $order_service->orderDelivery($order_id, $order_goods_id_array, $express_name, $shipping_type, $express_company_id, $express_no,$suppliercode);*/
            $order_service = new OrderService();
            $express = new NsOrderExpressCompanyModel();
            $num = 0;
            for($j=2;$j<=$highestRow;$j++)
            {
                $a = $objPHPExcel->getActiveSheet()->getCell("A".$j)->getValue();//order_id
                $b = $objPHPExcel->getActiveSheet()->getCell("B".$j)->getValue();//order_goods_id
                $c = $objPHPExcel->getActiveSheet()->getCell("C".$j)->getValue();//express_name
                $d = $objPHPExcel->getActiveSheet()->getCell("D".$j)->getValue();//express_no

                $express_id = $express->where('company_name',$c)->value('co_id');
                if(!$express_id || !is_numeric($d)){
                    echo "<script>alert('第".$j."行快递公司名称或单号不正确');window.location.href='/admin/spell/countspellgroup';</script>";
                    break;
                }
                $res = $order_service->orderDelivery($a, $b, $c, 1, $express_id,$d,'');
                // exit();
                Db::execute("insert into ns_wxmsg_spellgroup(orderid,msgtype,addtime,senttime,status) (select order_id,'10',".time().",0,'' from ns_spellgroup where pay_time>0 and order_id=".$a.")");
                $num++;
            }
            if ($num) {
                echo "<script>alert($num.'行数据添加成功!');window.location.href='/admin/spell/countspellgroup';</script>";
            }
        }
    }

刚开始写PHP,有很多不足的地方,请多多指正,本来想写个事务,暂时没弄好,就这样先用了,后续在优化

查看评论

JFinal专题之POI-Excel导入解决方案

本专题主要讲解JFinal如何使用POI组件上传Excel文件数据,并且解析导入到数据库中
  • 2017年04月18日 11:29

php 结合缓冲区读取excel数据并批量导入mysql

在工作中,很多时候需要把excel中的数据读取出来,导入到mysql中,以前的代码,都是通过 Spreadsheet_Excel_Reader插件直接取出来,进行for循环,组合成一个长的sql语句,...
  • yun__yang
  • yun__yang
  • 2016-04-20 17:37:22
  • 9585

PHP批量导入excel数据到数据库简易版方法(From Jeskitt)

P​H​P​导​入​e​x​c​e​l​数​据​到​数​据​库​简​易​版​方​法​(​F​r​o​m​ ​J​e​s​k​i​t​t​何​少​兴​)​,​自​定​义​处​理​e​x​c​e​l​单​...
  • xlf3280
  • xlf3280
  • 2015-12-22 22:35:33
  • 938

实现从Excel导入并将库存同步到淘宝店铺

  • 2014年04月08日 17:38
  • 719KB
  • 下载

文件夹下文件名批量导入excel

按下Win+R键,输入CMD,回车; 接着输入dir D:\文件夹名 /b > D:\要导入的文件名.xls ,回车。 接下来就可以在D盘根目录下找到一个要导入的文件名.xls文件...
  • Taylorer
  • Taylorer
  • 2015-01-19 20:16:15
  • 2399

Thinkphp PHPExcel批量导入数据到数据库

1.首先把PHPExcel 文件夹复制到thinkphp/library/vendor目录下, 1.1 excel 文件数据格式如下:    ID 姓名 密码 年龄 地址 1 xhz1...
  • mr_legeek
  • mr_legeek
  • 2017-09-01 17:36:17
  • 447

使用PHPExcel实现数据批量导入到数据库

两个参考部分:js部分和php部分,没有整理出来。还需自己写jQuery+php实现ajax文件即时上传很多项目中需要用到即时上传功能,比如,选择本地图片后,立即上传并显示图像。本文结合实例讲解如何使...
  • puddingpp
  • puddingpp
  • 2018-03-01 15:42:22
  • 80

ecshop使用PHPEXCEL批量导出订单信息

1.在这里下载PHPEXCEL http://pan.baidu.com/s/1dDF3PWd ,把其中的Classes文件夹解压的根目录下,如图所示: 2.admin/templates/or...
  • GlatChen
  • GlatChen
  • 2014-12-05 18:06:54
  • 3018

php批量上传图片,对每张图片进行描述后,存储数据库

  • 2013年08月29日 10:04
  • 73KB
  • 下载

dede后台增加批量上传和导出报表的功能

1、导出csv文件
  • confidence68
  • confidence68
  • 2014-06-23 14:44:15
  • 1982
    个人资料
    等级:
    访问量: 821
    积分: 69
    排名: 160万+
    文章分类
    文章存档
    最新评论