PHP将表格导出为EXCEL格式

话不多说上干活

public function downloadMatchDataAction()
{

    // 要下载的信息
    $user = new UserModel();
    $sql = "SELECT id,name,age,sex ORDER BY age DESC LIMIT 0,100";
    $list = $user->query($sql);//这里可以理解为查出来的二维数组
    $th = ['编号','姓名','年龄','性别'];
    $datas = array();//定义空数组,用来装自己想要的数据格式
    foreach($list as $key => $val){
        $datas[$key][] = $val["id"];
        $datas[$key][] = $val["name"];
        $datas[$key][] = $val["age"];
        $datas[$key][] = $val["sex"];
    }
   //解释一下这个循环,$datas为二维数组,$key为$list的键,将$list里面的键变为$datas里面的键最后再给这个键附上我刚才查询的值
    $this->outCsvTableAction('match',$th,$datas);//这里注意,指的是调用累内该方法
    exit;//我这里我选择了退出因为导出并下载我已经完成了,做完以后还需要做记录请自行修改。
}

/**
name n a m e 你 要 导 出 的 文 件 名 th 表头表标题
datas/publicfunctionoutCsvTableAction( d a t a s 重 构 后 的 数 组 ∗ ∗ / p u b l i c f u n c t i o n o u t C s v T a b l e A c t i o n ( name, th, t h , datas){
header(“Content-type:text/csv”);
header(“Content-Disposition:attachment;filename=” . date(‘Ymd’) . ‘_’. name..csv);header(CacheControl:mustrevalidate,postcheck=0,precheck=0);header(Expires:0);header(Pragma:public); n a m e . ′ . c s v ′ ) ; h e a d e r ( ‘ C a c h e − C o n t r o l : m u s t − r e v a l i d a t e , p o s t − c h e c k = 0 , p r e − c h e c k = 0 ′ ) ; h e a d e r ( ‘ E x p i r e s : 0 ′ ) ; h e a d e r ( ‘ P r a g m a : p u b l i c ′ ) ; str = ”;
foreach ( thas t h a s value) {
str.=iconv(utf8,gb2312, s t r . = i c o n v ( ′ u t f − 8 ′ , ′ g b 2312 ′ , value).’,’;
//解释下这个函数 : iconv(输入的字符集,输出的字符集,要转换的字符串)
}
str=rtrim( s t r = r t r i m ( str,’,’);
str.=\n;foreach( s t r . = “ \n ” ; f o r e a c h ( datas as v)$str.=\t;foreach($vas$v1)$str.=iconv("utf8","gb2312",$v1).,;$str=rtrim($str,,);$str.=\n;die( v ) $ s t r . = “ \t ” ; f o r e a c h ( $ v a s $ v 1 ) $ s t r . = i c o n v ( " u t f − 8 " , " g b 2312 " , $ v 1 ) . ′ , ′ ; $ s t r = r t r i m ( $ s t r , ′ , ′ ) ; $ s t r . = “ \n ” ; d i e ( str);
}

以上

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值