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: