本篇文章给大家介绍php将数据导出成excel表格方法,有一定的参考价值,需要的朋友可以参考一下,希望对大家有所帮助。

php 开发导出excel表格,代码如何写呢?今天给大家分享这个,我们想做的是 把数据库里的数据导出,导出成excel表格,按照我们的规则导出成我们想要的样子,下面直接给大家上源码,

php如何将数据导出成excel表格呢?

php入门到就业线上直播课:进入学习
Apipost = Postman + Swagger + Mock + Jmeter 超好用的API调试工具:点击使用

这个是具体的逻辑代码

 $list = Db::table('form')->where('create_time', '>', $stat_time)->select()
      ->where('create_time','<',$end_time);
  if(empty($list)){
   echo "<script>alert('暂时无数据');window.history.back();</script>";
            exit();
  }
  //dump($list);die;
  foreach ($list as $key => $value) {
            $tuij=Db::table('form')->where('id',$value['id'])->find();
            $arr[$key]['username']=$tuij['username'];
            $arr[$key]['phone']=$tuij['phone'];
            $arr[$key]['source']=$tuij['source'];
            $arr[$key]['text']=$value['text'];
            $arr[$key]['create_time']=$value['create_time'];
        }
        if(empty($list)){
            echo "<script>alert('暂时无数据');window.history.back();</script>";
            exit();
        }
        //$list为所需要导出的数据
        $header=array('姓名','电话','来源','留言','提交时间');
        $index=array('username','phone','source','text','create_time');
        $filename="表单落地页有效推广";
        $this->createtable($arr,$filename,$header,$index);
}

上面的代码中 最后一行 提到了一个方法createtable,这个是一个公共方法,大家可以放到公共类里,也可以直接放在这个类里,下面是源码

/**
     * 导出公共方法
     *
     * @return \think\Response
     */
function createtable($list,$filename,$header,$index){ 
        header("Content-type:application/vnd.ms-excel"); 
        header("Content-Disposition:filename=".$filename.".xls"); 
        $teble_header = implode("\t",$header);
        $strexport = $teble_header."\r";
        foreach ($list as $row){ 
            foreach($index as $val){
                $strexport.=$row[$val]."\t";  
            }
            $strexport.="\r";

        } 
        $strexport=iconv('UTF-8',"GB2312//IGNORE",$strexport); 
        exit($strexport);
    }
``````php


php将数据导出成excel表格