Yii 导入excel文件的方法:

public function Getexcel($file){
	   $file=$_FILES['file']['tmp_name'];
	   Yii::import("special.extensions.PHPExcel");
	   $PHPExcel = new PHPExcel();
       $PHPReader = new PHPExcel_Reader_Excel2007();
       if(!$PHPReader->canRead($file)){
          $PHPReader = new PHPExcel_Reader_Excel5();
          if(!$PHPReader->canRead($file)){
             return false;
           }
        }
        $PHPExcel = $PHPReader->load($file);
        $currentSheet = $PHPExcel->getSheet(0);//读取第一个工作表
        $allColumn = $currentSheet->getHighestColumn();//取得最大的列号
        $allRow = $currentSheet->getHighestRow();//取得一共有多少行
        /**从第二行开始输出,因为excel表中第一行为列名*/
        $arr=array();
        for($currentRow = 4;$currentRow <= $allRow;$currentRow++){
            /**从第A列开始输出*/
            for($currentColumn= 'A';$currentColumn<= $allColumn; $currentColumn++){
                $val = $currentSheet->getCellByColumnAndRow(ord($currentColumn) - 65,$currentRow)->getValue(); /*ord()将字符转为十进制数*/

                /**如果输出汉字有乱码,则需将输出内容用iconv函数进行编码转换,如下将gb2312编码转为utf-8编码输出*/
                //$arr[$currentRow][]=  iconv('utf-8','gb2312', $val)."\t";
                $arr[$currentRow][]=  trim($val);
            }
        }

        //删除全部为空的行
        foreach ($arr as $key=>$vals){
            $tmp = '';
            foreach($vals as $v){
                $tmp .= $v;
            }
            if(!$tmp) unset($arr[$key]);
        }
       return $arr;
	}

转载请注明转自:运达's blog 原文地址:http://www.yunda51.com/1470.html