首页 > php框架 > Yii 导入excel文件的例子

Yii 导入excel文件的例子

这个Yii 导入excel文件的例子其实就是把excel文件的内容读取出来然后显示了,这个不是导入到mysql数据库了.

<?php
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;
}

例子没有导入到数据库那段代码,其实也简单只要读之后生成sql再执行即可导入到数据库在此小编就不介绍了


教程地址:http://www.phprm.com/frame/76231.html

欢迎转载!但请带上文章地址^^

标签:iconv foreach

相关文章

发表留言