zoukankan      html  css  js  c++  java
  • Thinkphp 使用PHPExcel导入,栗子

    栗子:

    <?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('ModelModelnameModelname', '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');
            }
        }
                
    ?>
  • 相关阅读:
    如何把自己的百度网盘的内容分享给别人
    postman 中post方式提交数据
    在ThinkPHP中,if标签和比较标签对于变量的比较。
    Linux SVN搭建模式 规格严格
    Redmine安装201209 规格严格
    GBK 规格严格
    MySQL分区优化 规格严格
    Null 规格严格
    Compiler 规格严格
    UDP VS TCP 规格严格
  • 原文地址:https://www.cnblogs.com/richardcastle/p/8297179.html
Copyright © 2011-2022 走看看