支付宝赞助帐号:service@kuitao8.com 

thinkphp整合系列之phpexcel导入excel数据

Created2017-03-04   Views 809    Author 懒人程序

这里熬夜加班加点写出一个phpexcel导入数据的方法;

示例项目:https://github.com/baijunyao/thinkphp-bjyadmin

一:导入phpexcel

/ThinkPHP/Library/Vendor/PHPExcel 二:导入excel的函数

/**
 * 导入excel文件
 * @param  string $file excel文件路径
 * @return array        excel文件内容数组
 */
function import_excel($file){
    // 判断文件是什么格式
    $type = pathinfo($file); 
    $type = strtolower($type["extension"]);
    $type=$type==='csv' ? $type : 'Excel5';
    ini_set('max_execution_time', '0');
    Vendor('PHPExcel.PHPExcel');
    // 判断使用哪种格式
    $objReader = PHPExcel_IOFactory::createReader($type);
    $objPHPExcel = $objReader->load($file); 
    $sheet = $objPHPExcel->getSheet(0); 
    // 取得总行数 
    $highestRow = $sheet->getHighestRow();     
    // 取得总列数      
    $highestColumn = $sheet->getHighestColumn(); 
    //循环读取excel文件,读取一条,插入一条
    $data=array();
    //从第一行开始读取数据
    for($j=1;$j<=$highestRow;$j++){
        //从A列读取数据
        for($k='A';$k<=$highestColumn;$k++){
            // 读取单元格
            $data[$j][]=$objPHPExcel->getActiveSheet()->getCell("$k$j")->getValue();
        } 
    }  
    return $data;
}

三:调用示例 先用之前文章生成excel的方法分别生成了xls和csv格式的表格放在了/Upload/excel/目录下; 当然正常导入的话;是需要用户上传excel文件的; 这里就略过上传的过程;直接写的是传入文件路径调用函数的了; /Application/Home/Controller/IndexController.class.php

  /**
     * 导入excel数据
     */
    public function import(){
        // 导入csv格式的数据
        $data=import_excel('./Upload/excel/simple.csv');
        p($data);
        // 导入xls格式的数据
        $data=import_excel('./Upload/excel/simple.xls');
        p($data);die;
    }

本文来自白俊遥博客http://baijunyao.com

上一篇: php支付接口md5效验失败的解决办法
下一篇: php ajax上传图片的方法
支持键盘 ← →

邮件订阅

订阅我们的精彩内容