Excel表格导入和导出

在libraies中引用PHPExcel这个类(phpexcel.php)

public function excel_put(){
    //先做一个文件上传,保存文件
    $path=$_FILES['file'];
    $filePath = "uploads/".$path["name"];
    move_uploaded_file($path["tmp_name"],$filePath);
    //$data=array('B'=>'name','C'=>'pwd','D'=>'money1','E'=>'salt');
    $data=array('B'=>'name','C'=>'pid');
    $tablename='city2';//表名字
    $this->excel_fileput($filePath,$data,$tablename);
}
private function excel_fileput($filePath,$data,$tablename){
    $this->load->library("phpexcel");//ci框架中引入excel类
    $PHPExcel = new PHPExcel();
    $PHPReader = new PHPExcel_Reader_Excel2007();
    if(!$PHPReader->canRead($filePath)){
        $PHPReader = new PHPExcel_Reader_Excel5();
        if(!$PHPReader->canRead($filePath)){
            echo 'no Excel';
            return ;
        }
    }
    // 加载excel文件
    $PHPExcel = $PHPReader->load($filePath);

    // 读取excel文件中的第一个工作表
    $currentSheet = $PHPExcel->getSheet(0);
    // 取得最大的列号
    $allColumn = $currentSheet->getHighestColumn();
    // 取得一共有多少行
    $allRow = $currentSheet->getHighestRow();

    // 从第二行开始输出,因为excel表中第一行为列名
    for($currentRow = 2;$currentRow <= $allRow;$currentRow++){
        /**从第A列开始输出*/
        //echo $allColumn;

        for($currentColumn= 'A';$currentColumn<= $allColumn; $currentColumn++){
            $val = $currentSheet->getCellByColumnAndRow(ord($currentColumn) - 65,$currentRow)->getValue();
            //print_r($val);
            //die;

            if($currentColumn == 'A')
            {
                //echo $val."\t";
            }else if($currentColumn <= $allColumn){
                $data1[$currentColumn]=$val;
            }
        }
        foreach($data as $key=>$val){
            $data2[$val]=$data1[$key];
        }
        $this->db->insert($tablename,$data2);
        //print_r($data2);
        //echo "</br>";
    }
    //echo "\n";
    echo "导入成功";
}



导出数据

public function excel_out(){
    header("Content-type:text/html");
    header("Content-Disposition:attachment;filename=123.xls");
    $array=$this->db->get("city")->result_array();
    $str="id\t"."name\t"."pid\n";
    foreach($array as $val){
        $str.=$val['id']."\t".$val['name']."\t".$val['pid']."\n";
    }
    echo $str;
}



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值