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')}">>導出excel</a></div>
點擊即導出csv格式文件
點擊保存到桌面並打開:訂單.csv: