首页 > 代码库 > ThinkPHP3.1.3使用phpExcel1.8.0实现数据从Excel表格导入mysql数据库

ThinkPHP3.1.3使用phpExcel1.8.0实现数据从Excel表格导入mysql数据库

首先,去PHPExcel官方网站下载PHPExcel,官方地址为;http://phpexcel.codeplex.com/.我下的是1.8.0版本的.解压后发现还是蛮大的,有十几M,不知道其他版本是不是会小点. 
技术分享

把解压好的PHPExcel文件放在ThinkPHP的Vender文件夹下(专门放第三方类库的),如下图

技术分享

其次,创建Excel转换数组类,并把它放在ThinkPHP\Extend\Library\ORG\Util目录下

class ExcelToArrary {  
    public function __construct() {  
        Vendor("PHPExcel.Classes.PHPExcel");//引入phpexcel类(留意路径,不了解路径可以查看下手册)  
        Vendor("PHPExcel.Classes.PHPExcel.IOFactory"); //引入phpexcel类(留意路径)      
    }  
    public function read($filename,$encode,$file_type){  
        if(strtolower ( $file_type )==‘xls‘)//判断excel表类型为2003还是2007  
        {  
            Vendor("PHPExcel.Classes.PHPExcel.Reader.Excel5"); //引入phpexcel类(留意路径)  
            $objReader = PHPExcel_IOFactory::createReader(‘Excel5‘);  
        }elseif(strtolower ( $file_type )==‘xlsx‘)  
        {  
            Vendor("PHPExcel.Classes.PHPExcel.Reader.Excel2007");//引入phpexcel类(留意路径)   
            $objReader = PHPExcel_IOFactory::createReader(‘Excel2007‘);  
        }  
        $objReader->setReadDataOnly(true);  
        $objPHPExcel = $objReader->load($filename);  
        $objWorksheet = $objPHPExcel->getActiveSheet();  
        $highestRow = $objWorksheet->getHighestRow();  
        $highestColumn = $objWorksheet->getHighestColumn();  
        $highestColumnIndex = PHPExcel_Cell::columnIndexFromString($highestColumn);  
        $excelData = http://www.mamicode.com/array();  
        for ($row = 1; $row <= $highestRow; $row++) {  
            for ($col = 0; $col < $highestColumnIndex; $col++) {  
                $excelData[$row][] =(string)$objWorksheet->getCellByColumnAndRow($col, $row)->getValue();  
                }  
        }  
        return $excelData; 
    } 
}  
详情传送门:http://blog.csdn.net/walle0513/article/details/47129619

ThinkPHP3.1.3使用phpExcel1.8.0实现数据从Excel表格导入mysql数据库