方法一:适合单独导出
$filename='提现列表-' . date('Ymd',time());
header("Content-type: application/vnd.ms-excel; charset=gbk");
header("Content-Disposition: attachment; filename=$filename.xls");
$payment = trim($_POST['payment']); //提现方式
$status = trim($_POST['status']); //提现状态
$start_time = strtotime($_POST['start_time']); //申请时间-开始时间点
$end_time = strtotime($_POST['end_time']); //申请时间-开始时间点
$where = 'WHERE 1 ';
/* 提现方式 */
if(!empty($payment)){
$where .= " AND bank_name LIKE '%" . $payment . "%' ";
}
/* 提现状态 */
if ($status >0){
$where .= " AND status = '$status' ";
}
/* 申请时间 */
if(!empty($start_time) && empty($end_time)){
$where .= " AND apply_time > '$start_time' ";
}elseif(!empty($start_time) && !empty($end_time)){
$where .= " AND apply_time > '$start_time' AND apply_time<= '$end_time' ";
}
/* 查询数据 */
$sql = 'SELECT * FROM ·user_cash_money· '. $where . " ORDER BY apply_time DESC";
$res=$db->getAll($sql);
$list = array();
foreach($res as $key => $rows){
$list[$key]['user_name'] = $rows['user_name'];
$list[$key]['cash_money'] = $rows['cash_money'];
$list[$key]['bank_name'] = $rows['bank_name'];
$list[$key]['bank_account'] = $rows['bank_account'];
$list[$key]['true_name'] = $rows['true_name'];
$list[$key]['status'] = $rows['status']==1? '待处理' : '提现成功';
$list[$key]['complete_time'] = empty($rows['complete_time'])?'':date('Y-m-d H:i:s', $rows['complete_time']);
$list[$key]['apply_time'] = empty($rows['apply_time'])?'':date('Y-m-d H:i:s', $rows['apply_time']);
}
$data = "
$data .= "
序号会员名称支付方式支付帐号收款人姓名提现金额提现状态处理时间申请时间";foreach($list as $key => $val){
$data .= "
".($key+1)."".$val['user_name']."".$val['bank_name']."".$val['bank_account']."".$val['true_name']."".$val['cash_money']."".$val['status']."".$val['complete_time']."".$val['apply_time']."";}
$data .= "
";if (EC_CHARSET != 'gbk'){
echo ecs_iconv(EC_CHARSET, 'gbk', $data) . "\t";
}
else{
echo $data. "\t";
}
方法二:适合多个方法调用该导出方法
//导出excel文件方法
protected function exportexcel($data = array(), $title = array(), $filename = 'report'){
header("Content-type:application/octet-stream");
header("Accept-Ranges:bytes");
header("Content-type:application/vnd.ms-excel");
header("Content-Disposition:attachment;filename=" . $filename ."-".date('Ymd',time()). ".xls");
header("Pragma: no-cache");
header("Expires: 0");
//导出xls 开始
if (!empty($title)) {
foreach ($title as $k => $v) {
$title[$k] = iconv("UTF-8", "GB2312", $v);
}
$title = implode("\t", $title);
echo "$title\n";
}
if (!empty($data)) {
$totalprice = 0;
foreach ($data as $key => $val) {
foreach ($val as $ck => $cv) {
$data[$key][$ck] = iconv("UTF-8", "GB2312", $cv);
}
$data[$key] = implode("\t", $data[$key]);
$totalprice += $val['amount'];
}
$data[count($data)] = iconv("UTF-8", "GB2312", "总人数:".count($data));
$data[count($data)+1] = iconv("UTF-8", "GB2312", "总金额:".$totalprice."元");
echo implode("\n", $data);
}
}
//调用导出excel表格方法
if($_GPC['out_put']=='output'){
$i = 0;
foreach ($details_list as $key => $value) {
$arr[$i]['nickname'] = $value['nickname'];
$arr[$i]['openid'] = $value['openid'];
$arr[$i]['amount'] = $value['amount']>0?$value['amount']:'未中奖';
$arr[$i]['status'] = $value['status']==1?'发放成功':'发放失败';
$arr[$i]['partner_trade_no'] = $value['partner_trade_no'];
$arr[$i]['payment_no'] = $value['payment_no'];
$arr[$i]['add_time'] = date('Y-m-d H:i:s', $value['add_time']);
$i++;
}
$this->exportexcel($arr, array('用户昵称', '用户openid', '红包金额', '发放状态', '商户订单号', '微信订单号', '发放时间'), $details['active_name']);
exit();
}