码迷,mamicode.com
首页 > Web开发 > 详细

Thinkphp 使用PHPExcel导入,栗子

时间:2018-01-17 00:08:48      阅读:160      评论:0      收藏:0      [点我收藏+]

标签:sprintf   arraylist   printf   exists   field   empty   ssi   utf-8   roo   

栗子:

<?php
    public function importData(){
        if ( !empty( $_FILES[‘file‘][‘tmp_name‘] ) ) {
            $uploadfile = $_FILES [‘file‘] [‘tmp_name‘];
    } else {
            $uploadfile = $_FILES[‘uploadfile‘][‘tmp_name‘];
        }
    
        if(empty($uploadfile) or !file_exists($uploadfile)){
            die(‘file not exists‘);
        }
        //Include path
        set_include_path ( get_include_path () . PATH_SEPARATOR . LIB_ROOT_PATH . ‘3rdParty/PHPExcel/‘ );
        // PHPExcel_IOFactory
        include ‘PHPExcel.php‘;
        include ‘PHPExcel/IOFactory.php‘;
    
        if (!class_exists(‘PHPExcel_IOFactory‘)) {
            //PHPExcel类未找到
            echo ‘未知错误!‘;

        }
    
            $inputFileType = \PHPExcel_IOFactory::identify( $uploadfile );
    
            if ( in_array( $inputFileType, array (‘Excel2007‘, ‘Excel5‘)) ){
                $objReader = \PHPExcel_IOFactory::createReader( $inputFileType );
                $objPHPExcel = $objReader->load( $uploadfile );
                $sheetData = $objPHPExcel->getActiveSheet()->toArray( null, true, true, true );
                $addData = array();
                foreach ( $sheetData as $key => $value ) {
                    $addData[‘field1‘] .= $value[‘A‘].‘,‘;
                    $addData[‘field2‘] .= $value[‘B‘].‘,‘;
                    }
    
                rtrim($addData[‘field1‘],‘,‘);
    
                $addData[‘field3‘] = ‘测试参数‘;
                $addData[‘type‘] = 666;
    
                $res = \AppTools::webService(‘\Model\Modelname\Modelname‘, ‘getImport‘, array(‘params‘=>$addData ));
    
                if( $res[‘status‘] == 0 && !empty($res[‘data‘][‘fail‘]) ){
                    //存在导入失败的
                    $res[‘data‘][‘fail‘] = implode($res[‘data‘][‘fail‘],‘,‘);
                    $res[‘

 1. msg‘] = sprintf($this->translator-

>failedlist, mb_substr($res[‘data‘][‘fail‘],0,27,‘utf-8‘));
                    $res[‘status‘] = 1;
                }elseif( $res[‘status‘] == 0 && empty($res[‘data‘][‘fail‘]) ){
                    //全部导入成功
                    $res[‘msg‘] = $this->translator->success;
                }else{
                    //导入出错
                    $res[‘msg‘] = $this->translator->failed;
                    $res[‘status‘] = ‘error‘;
                }
    
                session(‘arraylist‘,$res);
    
                $this->redirect(‘index‘);
        }
    }
            
?>

Thinkphp 使用PHPExcel导入,栗子

标签:sprintf   arraylist   printf   exists   field   empty   ssi   utf-8   roo   

原文地址:https://www.cnblogs.com/richardcastle/p/8297179.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!