Thinkphp 使用PHPExcel导入,栗子

Posted 小酱油

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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(‘\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导入,栗子的主要内容,如果未能解决你的问题,请参考以下文章

thinkphp5使用PHPExcel导出,导入Excel数据

thinkphp5 使用PHPExcel 导入导出

thinkphp3.2整合phpexcel

Thinkphp使用phpexcel导入文件并写入数据库

Thinkphp 用PHPExcel 导入Excel

thinkphp3.2和phpexcel导入