前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >PHP实现excel

PHP实现excel

原创
作者头像
用户1349575
发布2022-01-04 11:31:37
1.2K0
发布2022-01-04 11:31:37
举报
文章被收录于专栏:编程社区
代码语言:javascript
复制
public function excel_put(){  
    //先做一个文件上传,保存文件  
    $path=$_FILES['file'];  
    $filePath = "uploads/".$path["name"];  
    move_uploaded_file($path["tmp_name"],$filePath);  
    //默认用excel2007读取excel,若格式不对,则用之前的版本进行读取  
    //表格字段名字  
    $data=array('B'=>'name','C'=>'pwd','D'=>'money1','E'=>'salt');  
    $tablename='user1';//表名字  
    $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 "导入成功";  
}  

代码语言:javascript
复制
header("Content-type:application/vnd.ms-excel");  
header("Content-Disposition:attachment;filename=123.xls");  
  
$array=$this->db->get("shop_address")->result_array();  
$str = "Id\tName\tPid\n";  
foreach ($array as $val) {  
    $str .=  $val['id'] . "\t" .$val['name'] . "\t" . $val['pid'] . "\n";  
}  
echo $str;    

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档