thinkphp5将数据表导出csv文件

thinkphp5将数据表导出csv文件

控制器

<?php
namespace app\admin\controller;

use app\admin\controller\Common;

class Convert extends Common
{
    //导出
    public function csv() {
        $list = db('ts_convert tn')  
                ->field('tn.convert_id,tu.user_name,tm.com_name,convert_jf,tn.create_time')
                ->join('ts_user tu','tn.user_id=tu.user_id')
                ->join('ts_commodity tm', 'tm.com_id=tn.com_id')
                ->order('tn.create_time desc') 
                ->select();  //数据表
        $title = ['商品编号','订单用户名','订单商品','订单积分','订单时间']; //标题行
        header('Content-Type: application/vnd.ms-excel');
        header('Content-Disposition: attachment;filename=订单.csv');  //保存文件名
        $file = fopen('php://output','a');
        foreach($title as $v) {
            $tit[] = iconv('UTF-8', 'gbk//IGNORE',$v);
        }
        \fputcsv($file,$tit);
        foreach($list as $v) {
            foreach($v as $k=>$t) {
                if($k =='create_time') $t = date('Y-m-d h:i:s',$t);  //格式化时间
                $tarr[] = iconv('UTF-8','gbk//IGNORE',$t);  //编码
            }
            \fputcsv($file,$tarr);
            unset($tarr);
        }
        unset($list);
        fclose($file);
        exit();      
    }
}

前端调用

<div id="put"><a href="{:url('admin/convert/csv')}">&gt;导出excel</a></div>

点击即导出csv格式文件

在这里插入图片描述
在这里插入图片描述
点击保存到桌面并打开:订单.csv:
在这里插入图片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章