795 lines
18 KiB
PHP
Executable File
795 lines
18 KiB
PHP
Executable File
<?php
|
||
|
||
namespace wstmart\admin\model;
|
||
|
||
use think\Db;
|
||
|
||
use think\Loader;
|
||
|
||
/**
|
||
|
||
* ============================================================================
|
||
|
||
* 结算业务处理
|
||
|
||
*/
|
||
|
||
class Settlements extends Base{
|
||
|
||
/**
|
||
|
||
* 获取结算列表
|
||
|
||
*/
|
||
|
||
public function pageQuery(){
|
||
|
||
$settlementNo = input('settlementNo');
|
||
|
||
$shopName = input('shopName');
|
||
|
||
$settlementStatus = (int)input('settlementStatus',-1);
|
||
|
||
$sort = input('sort');
|
||
|
||
$where = [];
|
||
|
||
if($settlementNo!='')$where['settlementNo'] = ['like','%'.$settlementNo.'%'];
|
||
|
||
if($shopName!='')$where['shopName|shopSn'] = ['like','%'.$shopName.'%'];
|
||
|
||
if($settlementStatus>=0)$where['settlementStatus'] = $settlementStatus;
|
||
|
||
$order = 'st.settlementId desc';
|
||
|
||
if($sort){
|
||
|
||
$sortArr = explode('.',$sort);
|
||
|
||
$order = $sortArr[0].' '.$sortArr[1];
|
||
|
||
if($sortArr[0]=='settlementNo'){
|
||
|
||
$order = $sortArr[0].'+0 '.$sortArr[1];
|
||
|
||
}
|
||
|
||
}
|
||
|
||
$result=Db::name('settlements')->alias('st')
|
||
|
||
->join('__SHOPS__ s','s.shopId=st.shopId','left')
|
||
|
||
->join('__ORDERS__ o','o.settlementId=st.settlementId','left')
|
||
|
||
->join('__SHOPS_DEPOSIT_DETAIL__ sd','sd.orderId=o.orderId','left')
|
||
|
||
->join('__PAYMENTS__ p','p.payCode=o.payFrom','left')
|
||
|
||
->where($where)->field('s.shopName,settlementNo,sd.cashDeposit,st.settlementId,st.settlementMoney,st.commissionFee,st.backMoney,st.settlementStatus,st.settlementTime,st.createTime,payFrom,payName')->order($order)
|
||
|
||
->paginate(input('limit/d'))->toArray();
|
||
|
||
return $result;
|
||
|
||
}
|
||
|
||
|
||
|
||
/**
|
||
|
||
* 获取结算订单详情
|
||
|
||
*/
|
||
|
||
public function getById(){
|
||
|
||
$settlementId = (int)input('id');
|
||
|
||
$object = Db::name('settlements')->alias('st')->where('settlementId',$settlementId)->join('__SHOPS__ s','s.shopId=st.shopId','left')->field('s.shopName,st.*')->find();
|
||
|
||
// dump($object);die;
|
||
|
||
|
||
|
||
if(!empty($object)){
|
||
|
||
$object['list'] = Db::name('orders')->alias('o')->join('__SHOPS_DEPOSIT_DETAIL__ sd','o.orderId=sd.orderId','left')->where(['o.settlementId'=>$settlementId])
|
||
|
||
->field('sd.cashDeposit,o.orderId,orderNo,o.payType,goodsMoney,deliverMoney,realTotalMoney,totalMoney,commissionFee,scoreMoney,createTime')
|
||
|
||
->order('payType desc,orderId desc')->select();
|
||
|
||
}
|
||
|
||
// dump($object);die;
|
||
|
||
return $object;
|
||
|
||
}
|
||
|
||
/**
|
||
|
||
* 处理订单
|
||
|
||
*/
|
||
|
||
public function handle(){
|
||
|
||
$id = (int)input('settlementId');
|
||
|
||
$remarks = input('remarks');
|
||
|
||
Db::startTrans();
|
||
|
||
try{
|
||
|
||
$object = $this->get($id);
|
||
|
||
$object->settlementStatus = 1;
|
||
|
||
$object->settlementTime = date('Y-m-d H:i:s');
|
||
|
||
if($remarks!='')$object->remarks = $remarks;
|
||
|
||
$rs = $object->save();
|
||
|
||
if(false !== $rs){
|
||
|
||
$shop = model('Shops')->get($object->shopId);
|
||
|
||
WSTSendMsg($shop['userId'],"您的结算申请【".$object->settlementNo."】已处理,请留意到账户息哦~",['from'=>4,'dataId'=>$id]);
|
||
|
||
$shop->shopMoney = $shop->shopMoney+$object->backMoney;
|
||
|
||
$shop->paymentMoney = $shop->paymentMoney + $object->commissionFee;
|
||
|
||
$shop->save();
|
||
|
||
$lmarr = [];
|
||
|
||
//增加资金变动信息
|
||
|
||
if($object->settlementMoney>0){
|
||
|
||
$lm = [];
|
||
|
||
$lm['targetType'] = 1;
|
||
|
||
$lm['targetId'] = $object->shopId;
|
||
|
||
$lm['dataId'] = $id;
|
||
|
||
$lm['dataSrc'] = 2;
|
||
|
||
$lm['remark'] = '结算订单申请【'.$object->settlementNo.'】收入订单金额¥'.$object->settlementMoney;
|
||
|
||
$lm['moneyType'] = 1;
|
||
|
||
$lm['money'] = $object->settlementMoney;
|
||
|
||
$lm['payType'] = 0;
|
||
|
||
$lm['createTime'] = date('Y-m-d H:i:s');
|
||
|
||
$lmarr[] = $lm;
|
||
|
||
}
|
||
|
||
if($object->commissionFee>0){
|
||
|
||
//要对有积分支付的佣金记录进行处理
|
||
|
||
$commissionFee = $object->commissionFee;
|
||
|
||
//如果backMoney小于0则说明平台收到的钱不足以支付佣金,这个backMoney已经减去了积分支付,所以直接显示backMoney为应付的佣金就好
|
||
|
||
if($object->backMoney<0){
|
||
|
||
$commissionFee = $object->backMoney;
|
||
|
||
}
|
||
|
||
$lm = [];
|
||
|
||
$lm['targetType'] = 1;
|
||
|
||
$lm['targetId'] = $object->shopId;
|
||
|
||
$lm['dataId'] = $id;
|
||
|
||
$lm['dataSrc'] = 2;
|
||
|
||
$lm['remark'] = '结算订单申请【'.$object->settlementNo.'】支出订单佣金¥'.$commissionFee."。".(($object->remarks!='')?"【操作备注】:".$object->remarks:'');
|
||
|
||
$lm['moneyType'] = 0;
|
||
|
||
$lm['money'] = $commissionFee;
|
||
|
||
$lm['payType'] = 0;
|
||
|
||
$lm['createTime'] = date('Y-m-d H:i:s');
|
||
|
||
$lmarr[] = $lm;
|
||
|
||
}
|
||
|
||
if(count($lmarr)>0)model('LogMoneys')->saveAll($lmarr);
|
||
|
||
Db::commit();
|
||
|
||
return WSTReturn('操作成功!',1);
|
||
|
||
}
|
||
|
||
}catch (\Exception $e) {
|
||
|
||
Db::rollback();errLog($e);
|
||
|
||
}
|
||
|
||
return WSTReturn('操作失败!',-1);
|
||
|
||
}
|
||
|
||
|
||
|
||
/**
|
||
|
||
* 获取订单商品
|
||
|
||
*/
|
||
|
||
public function pageGoodsQuery(){
|
||
|
||
$id = (int)input('id');
|
||
|
||
return Db::name('orders')->alias('o')->join('__ORDER_GOODS__ og','o.orderId=og.orderId')->where('o.settlementId',$id)
|
||
|
||
->field('orderNo,og.goodsPrice,og.goodsName,og.goodsSpecNames,og.goodsNum,og.commissionRate')->order('o.payType desc,o.orderId desc')->paginate(input('limit/d'))->toArray();
|
||
|
||
}
|
||
|
||
|
||
|
||
/**
|
||
|
||
* 获取待结算商家
|
||
|
||
*/
|
||
|
||
public function pageShopQuery(){
|
||
|
||
$areaIdPath = input('areaIdPath');
|
||
|
||
$shopName = input('shopName');
|
||
|
||
$where = [];
|
||
|
||
if($shopName!='')$where['s.shopName|s.shopSn'] = ['like','%'.$shopName.'%'];
|
||
|
||
if($areaIdPath !='')$where['s.areaIdPath'] = ['like',$areaIdPath."%"];
|
||
|
||
$where['s.dataFlag'] = 1;
|
||
|
||
$where['s.noSettledOrderNum'] = ['>',0];
|
||
|
||
return Db::table('__SHOPS__')->alias('s')->join('__AREAS__ a2','s.areaId=a2.areaId')
|
||
|
||
->where($where)
|
||
|
||
->field('shopId,shopSn,shopName,a2.areaName,shopkeeper,telephone,abs(noSettledOrderFee) noSettledOrderFee,noSettledOrderNum')
|
||
|
||
->order('noSettledOrderFee desc')->paginate(input('limit/d'));
|
||
|
||
|
||
|
||
}
|
||
|
||
|
||
|
||
/**
|
||
|
||
* 获取商家未结算的订单
|
||
|
||
*/
|
||
|
||
public function pageShopOrderQuery(){
|
||
|
||
$orderNo = input('orderNo');
|
||
|
||
$payType = (int)input('payType',-1);
|
||
|
||
$where = [];
|
||
|
||
$where['settlementId'] = 0;
|
||
|
||
$where['orderStatus'] = 2;
|
||
|
||
$where['shopId'] = (int)input('id');
|
||
|
||
$where['dataFlag'] = 1;
|
||
|
||
if($orderNo!='')$where['orderNo'] = ['like','%'.$orderNo.'%'];
|
||
|
||
if(in_array($payType,[0,1]))$where['payType'] = $payType;
|
||
|
||
$page = Db::name('orders')->where($where)
|
||
|
||
->field('orderId,orderNo,payType,goodsMoney,deliverMoney,realTotalMoney,totalMoney,commissionFee,createTime')
|
||
|
||
->order('payType desc,orderId desc')->paginate(input('limit/d'))->toArray();
|
||
|
||
if(count($page['Rows'])>0){
|
||
|
||
foreach ($page['Rows'] as $key => $v) {
|
||
|
||
$page['Rows'][$key]['payTypeName'] = WSTLangPayType($v['payType']);
|
||
|
||
}
|
||
|
||
}
|
||
|
||
return $page;
|
||
|
||
}
|
||
|
||
|
||
|
||
/**
|
||
|
||
* 生成结算单
|
||
|
||
*/
|
||
|
||
public function generateSettleByShop(){
|
||
|
||
$shopId = (int)input('id');
|
||
|
||
$where = [];
|
||
|
||
$where['shopId'] = $shopId;
|
||
|
||
$where['dataFlag'] = 1;
|
||
|
||
$where['orderStatus'] = 2;
|
||
|
||
$where['settlementId'] = 0;
|
||
|
||
$orders = Db::name('orders')->where($where)->field('orderId,payType,realTotalMoney,scoreMoney,commissionFee')->select();
|
||
|
||
if(empty($orders))return WSTReturn('没有需要结算的订单,请刷新后再核对!');
|
||
|
||
$settlementMoney = 0;
|
||
|
||
$commissionFee = 0; //平台要收的佣金
|
||
|
||
$ids = [];
|
||
|
||
foreach ($orders as $key => $v) {
|
||
|
||
$ids[] = $v['orderId'];
|
||
|
||
if($v['payType']==1){
|
||
|
||
$settlementMoney += $v['realTotalMoney']+$v['scoreMoney'];
|
||
|
||
}else{
|
||
|
||
$settlementMoney += $v['scoreMoney'];
|
||
|
||
}
|
||
|
||
$commissionFee += abs($v['commissionFee']);
|
||
|
||
}
|
||
|
||
$backMoney = $settlementMoney-$commissionFee;
|
||
|
||
$shops = model('shops')->get($shopId);
|
||
|
||
if(empty($shops))WSTReturn('无效的店铺结算账号!');
|
||
|
||
Db::startTrans();
|
||
|
||
try{
|
||
|
||
$data = [];
|
||
|
||
$data['settlementType'] = 0;
|
||
|
||
$data['shopId'] = $shopId;
|
||
|
||
$data['settlementMoney'] = $settlementMoney;
|
||
|
||
$data['commissionFee'] = $commissionFee;
|
||
|
||
$data['backMoney'] = $settlementMoney-$commissionFee;
|
||
|
||
$data['settlementStatus'] = 1;
|
||
|
||
$data['settlementTime'] = date('Y-m-d H:i:s');
|
||
|
||
$data['createTime'] = date('Y-m-d H:i:s');
|
||
|
||
$data['settlementNo'] = '';
|
||
|
||
$result = $this->save($data);
|
||
|
||
if(false !== $result){
|
||
|
||
$this->settlementNo = $this->settlementId.(fmod($this->settlementId,7));
|
||
|
||
$this->save();
|
||
|
||
//修改商家订单情况
|
||
|
||
Db::name('orders')->where(['orderId'=>['in',$ids]])->update(['settlementId'=>$this->settlementId]);
|
||
|
||
$shops->shopMoney = $shops->shopMoney + $backMoney;
|
||
|
||
$shops->noSettledOrderNum = 0;
|
||
|
||
$shops->noSettledOrderFee = 0;
|
||
|
||
$shops->paymentMoney = 0;
|
||
|
||
//修改商家充值金额
|
||
|
||
$lockCashMoney = (($shops->rechargeMoney - $commissionFee)>=0)?($shops->rechargeMoney - $commissionFee):0;
|
||
|
||
$shops->rechargeMoney = $lockCashMoney;
|
||
|
||
$shops->save();
|
||
|
||
|
||
|
||
//发消息
|
||
|
||
$tpl = WSTMsgTemplates('SHOP_SETTLEMENT');
|
||
|
||
if( $tpl['tplContent']!='' && $tpl['status']=='1'){
|
||
|
||
$find = ['${SETTLEMENT_NO}'];
|
||
|
||
$replace = [$this->settlementNo];
|
||
|
||
|
||
|
||
$msg = array();
|
||
|
||
$msg["shopId"] = $shopId;
|
||
|
||
$msg["tplCode"] = $tpl["tplCode"];
|
||
|
||
$msg["msgType"] = 1;
|
||
|
||
$msg["content"] = str_replace($find,$replace,$tpl['tplContent']) ;
|
||
|
||
$msg["msgJson"] = ['from'=>4,'dataId'=>$this->settlementId];
|
||
|
||
model("common/MessageQueues")->add($msg);
|
||
|
||
}
|
||
|
||
//增加资金变动信息
|
||
|
||
$lmarr = [];
|
||
|
||
if($settlementMoney>0){
|
||
|
||
$lm = [];
|
||
|
||
$lm['targetType'] = 1;
|
||
|
||
$lm['targetId'] = $shopId;
|
||
|
||
$lm['dataId'] = $this->settlementId;
|
||
|
||
$lm['dataSrc'] = 2;
|
||
|
||
$lm['remark'] = '结算订单申请【'.$this->settlementNo.'】收入订单金额¥'.$settlementMoney."。";
|
||
|
||
$lm['moneyType'] = 1;
|
||
|
||
$lm['money'] = $settlementMoney;
|
||
|
||
$lm['payType'] = 0;
|
||
|
||
$lm['createTime'] = date('Y-m-d H:i:s');
|
||
|
||
$lmarr[] = $lm;
|
||
|
||
}
|
||
|
||
if($commissionFee>0){
|
||
|
||
$lm = [];
|
||
|
||
$lm['targetType'] = 1;
|
||
|
||
$lm['targetId'] = $shopId;
|
||
|
||
$lm['dataId'] = $this->settlementId;
|
||
|
||
$lm['dataSrc'] = 2;
|
||
|
||
$lm['remark'] = '结算订单申请【'.$this->settlementNo.'】收取订单佣金¥'.$commissionFee."。";
|
||
|
||
$lm['moneyType'] = 0;
|
||
|
||
$lm['money'] = $commissionFee;
|
||
|
||
$lm['payType'] = 0;
|
||
|
||
$lm['createTime'] = date('Y-m-d H:i:s');
|
||
|
||
$lmarr[] = $lm;
|
||
|
||
}
|
||
|
||
if(count($lmarr)>0)model('LogMoneys')->saveAll($lmarr);
|
||
|
||
Db::commit();
|
||
|
||
return WSTReturn('生成结算单成功',1);
|
||
|
||
}
|
||
|
||
}catch (\Exception $e) {
|
||
|
||
Db::rollback();errLog($e);
|
||
|
||
}
|
||
|
||
return WSTReturn('生成结算单失败',-1);
|
||
|
||
}
|
||
|
||
/**
|
||
|
||
* 导出
|
||
|
||
*/
|
||
|
||
public function toExport(){
|
||
|
||
$name='结算申请表';
|
||
|
||
$settlementNo = input('settlementNo');
|
||
|
||
$shopName = input('shopName');
|
||
|
||
$settlementStatus = (int)input('settlementStatus',-1);
|
||
|
||
$sort = input('sort');
|
||
|
||
$where = [];
|
||
|
||
if($settlementNo!='')$where['settlementNo'] = ['like','%'.$settlementNo.'%'];
|
||
|
||
if($shopName!='')$where['shopName|shopSn'] = ['like','%'.$shopName.'%'];
|
||
|
||
if($settlementStatus>=0)$where['settlementStatus'] = $settlementStatus;
|
||
|
||
$order = 'st.settlementId desc';
|
||
|
||
if($sort){
|
||
|
||
$sortArr = explode('.',$sort);
|
||
|
||
$order = $sortArr[0].' '.$sortArr[1];
|
||
|
||
if($sortArr[0]=='settlementNo'){
|
||
|
||
$order = $sortArr[0].'+0 '.$sortArr[1];
|
||
|
||
}
|
||
|
||
}
|
||
|
||
$page=Db::name('settlements')->alias('st')
|
||
|
||
->join('__SHOPS__ s','s.shopId=st.shopId','left')
|
||
|
||
->join('__ORDERS__ o','o.settlementId=st.settlementId','left')
|
||
|
||
->join('__SHOPS_DEPOSIT_DETAIL__ sd','sd.orderId=o.orderId','left')
|
||
|
||
->join('__PAYMENTS__ p','p.payCode=o.payFrom','left')
|
||
|
||
->where($where)->field('s.shopName,settlementNo,sd.cashDeposit,st.settlementId,st.settlementMoney,st.commissionFee,st.backMoney,st.settlementStatus,st.settlementTime,st.createTime,payFrom,payName')->order($order)
|
||
|
||
->select();
|
||
|
||
foreach($page as &$v){
|
||
|
||
$order_list=db('orders')->where('settlementId',$v['settlementId'])->field('orderNo,realTotalMoney,scoreMoney')->select();
|
||
|
||
$v['order_number']='';
|
||
|
||
if(count($order_list)>0){
|
||
|
||
foreach($order_list as $val){
|
||
|
||
$v['order_number']=$v['order_number'].$val['orderNo'].',';//
|
||
|
||
}
|
||
|
||
//.$order_list['realTotalMoney'].$order_list['scoreMoney'];
|
||
|
||
}
|
||
|
||
}
|
||
|
||
Loader::import('phpexcel.PHPExcel.IOFactory');
|
||
|
||
$objPHPExcel = new \PHPExcel();
|
||
|
||
// 设置excel文档的属性
|
||
|
||
$objPHPExcel->getProperties()->setCreator("WSTMart")//创建人
|
||
|
||
->setLastModifiedBy("WSTMart")//最后修改人
|
||
|
||
->setTitle($name)//标题
|
||
|
||
->setSubject($name)//题目
|
||
|
||
->setDescription($name)//描述
|
||
|
||
->setKeywords("结算")//关键字
|
||
|
||
->setCategory("Test result file");//种类
|
||
|
||
|
||
|
||
// 开始操作excel表
|
||
|
||
$objPHPExcel->setActiveSheetIndex(0);
|
||
|
||
// 设置工作薄名称
|
||
|
||
$objPHPExcel->getActiveSheet()->setTitle(iconv('gbk', 'utf-8', 'Sheet'));
|
||
|
||
// 设置默认字体和大小
|
||
|
||
$objPHPExcel->getDefaultStyle()->getFont()->setName(iconv('gbk', 'utf-8', ''));
|
||
|
||
$objPHPExcel->getDefaultStyle()->getFont()->setSize(11);
|
||
|
||
$styleArray = array(
|
||
|
||
'font' => array(
|
||
|
||
'bold' => true,
|
||
|
||
'color'=>array(
|
||
|
||
'argb' => 'ffffffff',
|
||
|
||
)
|
||
|
||
),
|
||
|
||
'borders' => array (
|
||
|
||
'outline' => array (
|
||
|
||
'style' => \PHPExcel_Style_Border::BORDER_THIN, //设置border样式
|
||
|
||
'color' => array ('argb' => 'FF000000'), //设置border颜色
|
||
|
||
)
|
||
|
||
)
|
||
|
||
);
|
||
|
||
//设置宽
|
||
|
||
$objPHPExcel->getActiveSheet()->getColumnDimension('A')->setWidth(12);
|
||
|
||
$objPHPExcel->getActiveSheet()->getColumnDimension('B')->setWidth(12);
|
||
|
||
$objPHPExcel->getActiveSheet()->getColumnDimension('C')->setWidth(12);
|
||
|
||
$objPHPExcel->getActiveSheet()->getColumnDimension('D')->setWidth(25);
|
||
|
||
$objPHPExcel->getActiveSheet()->getColumnDimension('E')->setWidth(12);
|
||
|
||
$objPHPExcel->getActiveSheet()->getColumnDimension('F')->setWidth(12);
|
||
|
||
$objPHPExcel->getActiveSheet()->getColumnDimension('G')->setWidth(12);
|
||
|
||
$objPHPExcel->getActiveSheet()->getColumnDimension('H')->setWidth(12);
|
||
|
||
$objPHPExcel->getActiveSheet()->getColumnDimension('I')->setWidth(12);
|
||
|
||
$objPHPExcel->getActiveSheet()->getColumnDimension('J')->setWidth(12);
|
||
|
||
$objPHPExcel->getActiveSheet()->getColumnDimension('K')->setWidth(12);
|
||
|
||
$objPHPExcel->getActiveSheet()->getStyle('A1:K1')->getFill()->setFillType(\PHPExcel_Style_Fill::FILL_SOLID);
|
||
|
||
$objPHPExcel->getActiveSheet()->getStyle('A1:K1')->getFill()->getStartColor()->setARGB('333399');
|
||
|
||
|
||
|
||
$objPHPExcel->getActiveSheet()->setCellValue('A1', '结算单号')
|
||
|
||
->setCellValue('B1', '申请店铺')->setCellValue('C1', '结算金额')
|
||
|
||
->setCellValue('D1', '结算佣金')->setCellValue('E1', '扣除质保金')->setCellValue('F1', '返还金额')
|
||
|
||
->setCellValue('G1', '申请时间')->setCellValue('H1', '状态')
|
||
|
||
->setCellValue('I1', '订单单号')->setCellValue('J1', '支付方式');
|
||
|
||
$objPHPExcel->getActiveSheet()->getStyle('A1:I1')->applyFromArray($styleArray);
|
||
|
||
|
||
|
||
for ($row = 0; $row < count($page); $row++){
|
||
|
||
$i = $row+2;
|
||
|
||
$objPHPExcel->getActiveSheet()
|
||
|
||
->setCellValue('A'.$i, $page[$row]['settlementNo'])
|
||
|
||
->setCellValue('B'.$i, $page[$row]['shopName'])
|
||
|
||
->setCellValue('C'.$i, '¥'.$page[$row]['settlementMoney'])
|
||
|
||
->setCellValue('D'.$i, '¥'.$page[$row]['commissionFee'])
|
||
|
||
->setCellValue('E'.$i, '¥'.(float)$page[$row]['cashDeposit'])
|
||
|
||
->setCellValue('F'.$i, '¥'.$page[$row]['backMoney'])
|
||
|
||
->setCellValue('G'.$i, $page[$row]['createTime'])
|
||
|
||
->setCellValue('H'.$i, $page[$row]['settlementStatus']==1?'已结算':'未结算')
|
||
|
||
->setCellValue('I'.$i, $page[$row]['order_number'])
|
||
|
||
->setCellValue('J'.$i, $page[$row]['payName']);
|
||
|
||
|
||
|
||
}
|
||
|
||
|
||
|
||
//输出EXCEL格式
|
||
|
||
$objWriter = \PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
|
||
|
||
// 从浏览器直接输出$filename
|
||
|
||
header('Content-Type:application/csv;charset=UTF-8');
|
||
|
||
header("Pragma: public");
|
||
|
||
header("Expires: 0");
|
||
|
||
header("Cache-Control:must-revalidate, post-check=0, pre-check=0");
|
||
|
||
header("Content-Type:application/force-download");
|
||
|
||
header("Content-Type:application/vnd.ms-excel;");
|
||
|
||
header("Content-Type:application/octet-stream");
|
||
|
||
header("Content-Type:application/download");
|
||
|
||
header('Content-Disposition: attachment;filename="'.$name.'.xls"');
|
||
|
||
header("Content-Transfer-Encoding:binary");
|
||
|
||
$objWriter->save('php://output');
|
||
|
||
}
|
||
|
||
} |