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:
在這裏插入圖片描述

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