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');
            }
        }
                
    ?>
  • 相关阅读:
    ajax翻页效果模仿yii框架
    一个伪ajax图片上传代码的例子
    php下intval()和(int)转换有哪些区别
    php中iconv函数使用方法
    php字符串截取问题
    ASP.net UrlRewrite的防盗链功能
    ASP.NET中application对象
    javascript回车完美实现tab切换功能
    有关c#装箱和拆箱知识整理
    PHP四大安全策略
  • 原文地址:https://www.cnblogs.com/richardcastle/p/8297179.html
Copyright © 2011-2022 走看看