• php Excel 导入功能


    下载excel类地址 https://pan.baidu.com/s/1OfPmq4dKAaxBUSbQ3an8ZQ  密码:kmh2

    本人用的thinkcmf框架 把类文件放在框架的类文件里面,下面直接上代码

    注:excel一定要放在框架公共类文件里面,因为这个本人绕了好久,一直报错。所以请大家注意。

    function exceladd($sheet=0){ 
            $file = $_FILES['excel']['tmp_name'];
            $file = iconv("utf-8", "gb2312", $file);   //转码 
            if(empty($file) or !file_exists($file)) { 
                die('file not exists!'); 
            } 
             vendor('PHPExcel.Classes.PHPExcel');//引用类文件
            $objRead = new PHPExcel_Reader_Excel2007();   //实例化 建立reader对象 
            if(!$objRead->canRead($file)){ 
                $objRead = new PHPExcel_Reader_Excel5(); 
                if(!$objRead->canRead($file)){ 
                    die('No Excel!'); 
                } 
            } 
           
            $cellName = array('A', 'B', 'C', 'D'); 
           
            $obj = $objRead->load($file);  //建立excel对象 
            $currSheet = $obj->getSheet($sheet);   //获取指定的sheet表 
            $columnH = $currSheet->getHighestColumn();   //取得最大的列号 
            $columnCnt = array_search($columnH, $cellName); 
            $rowCnt = $currSheet->getHighestRow();   //获取总行数 
           
            $data = array(); 
            for($_row=2; $_row<=$rowCnt; $_row++){  //读取内容 
                for($_column=0; $_column<=$columnCnt; $_column++){ 
                    $cellId = $cellName[$_column].$_row; 
                        $cellValue = $currSheet->getCell($cellId)->getValue(); 
                        if($cellValue instanceof PHPExcel_RichText){   //富文本转换字符串 
                            $cellValue = $cellValue->__toString(); 
                        } 
                   
                    $data[$_row][$cellName[$_column]] = $cellValue; 
                } 
            } 
           return $data;
           
           
        } 
    

      因为根据本人需求,excel表第一行是名称,所以在获取的时候,没有获取第一行名称,所以在循环的时候$_row = 2 从2开始。

  • 相关阅读:
    mysql 账户管理
    关于数据库设计的思考(三)
    学习 ThinkPHP 框架笔记
    学习 Ext Js 所感
    mysql 一个较特殊的问题:You can't specify target table 'wms_cabinet_form' for update in FROM clause
    关于数据库设计的思考(二)
    flash、flex 项目开发学习时的笔记
    web.config 中SessionState的配置
    公农历转换
    使用Microsoft Web Application Stress Tool对web进行压力测试
  • 原文地址:https://www.cnblogs.com/dalaowang/p/10756575.html
Copyright © 2020-2023  润新知