PHPEXCEL导出
其实是转的,也是。
/* -- 导出excel by:lsn time:05/17 start --- */
public function exportExcel($expTitle,$expCellName,$expTableData,$order_total_price,$payable_price){
$xlsTitle = iconv('utf-8', 'gb2312', $expTitle);//文件名称
$fileName = $expTitle ? $expTitle : $_SESSION['uname'].date('_YmdHis');//or $xlsTitle 文件名称可根据自己情况设定
$cellNum = count($expCellName);
$dataNum = count($expTableData);
//vendor("PHPExcel.PHPExcel");
$objPHPExcel = new \PHPExcel();
$cellName = array('A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z','AA','AB','AC','AD','AE','AF','AG','AH','AI','AJ','AK','AL','AM','AN','AO','AP','AQ','AR','AS','AT','AU','AV','AW','AX','AY','AZ');
$objPHPExcel->getActiveSheet(0)->mergeCells('A1:'.$cellName[$cellNum-1].'1');//合并单元格
// $objPHPExcel->setActiveSheetIndex(0)->setCellValue('A1', $expTitle.' Export time:'.date('Y-m-d H:i:s'));
for($i=0;$i<$cellNum;$i++){
$objPHPExcel->setActiveSheetIndex(0)->setCellValue($cellName[$i].'2', $expCellName[$i][1]);
}
// Miscellaneous glyphs, UTF-8
for($i=0;$i<$dataNum;$i++){
for($j=0;$j<$cellNum;$j++){
$objPHPExcel->getActiveSheet(0)->setCellValue($cellName[$j].($i+3), $expTableData[$i][$expCellName[$j][0]]);
}
}
header('pragma:public');
header('Content-type:application/vnd.ms-excel;charset=utf-8;name="'.$xlsTitle.'.xls"');
header("Content-Disposition:attachment;filename=$fileName.xls");//attachment新窗口打印inline本窗口打印
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
$objWriter->save('php://output');
exit;
}
public function outExcel($data = array(),$totalprice = 0, $totalprice_sj =0)
{
$auth_print = session('branch');
set_time_limit(0);
$regionModel = new RegionModel();
/* $excel_data:表头 */
if(!$auth_print){
$xlsCell = array(
array('comname','分支机构'),
array('truename','支付方式'),
array('sex','购买平台'),
array('res_id','支付订单号'),
array('sp_id','订单号'),
array('class','子订单号'),
array('year','购买产品'),
array('city','数量'),
array('company','拍下金额'),
array('zhicheng','付款金额'),
array('zhiwu','付款时间'),
array('jibie','订单状态'),
array('tel','付款状态'),
array('qq','发货状态'),
array('email','购买人会员名称'),
array('honor','购货人电话'),
array('remark','收货人姓名'),
array('remark_one','地址'),
array('remark_two','订单类型'),
array('remark_three','备注'),
);
}else{
$xlsCell = array(
array('comname','分支机构'),
array('truename','购买平台'),
array('res_id','支付订单号'),
array('sp_id','订单号'),
array('class','子订单号'),
array('year','购买产品'),
array('city','数量'),
array('company','拍下金额'),
array('zhicheng','付款金额'),
array('zhiwu','付款时间'),
array('jibie','订单状态'),
array('tel','付款状态'),
array('qq','发货状态'),
array('email','购买人会员名称'),
array('honor','购货人电话'),
array('remark','收货人姓名'),
array('remark_one','地址'),
array('remark_two','订单类型'),
array('remark_three','备注'),
);
}
if(!$auth_print){
$excel_date[$k]['comname'] = $v['comname'];
$excel_date[$k]['truename'] = $payTypeName;
$excel_date[$k]['sex'] = $v['platName'];
$excel_date[$k]['res_id'] = $v['transactionid'];
$excel_date[$k]['sp_id'] = ' '.$v['orderid'];
$excel_date[$k]['class'] = $child_orderid;
$excel_date[$k]['year'] = $product_name;
$excel_date[$k]['city'] = $v['total'];
$excel_date[$k]['company'] = '¥ '.$v['totalprice'];
$excel_date[$k]['zhicheng'] = '¥ '.$v['money_paid'];
$excel_date[$k]['zhiwu'] = $buytime;
$excel_date[$k]['jibie'] = $state;
$excel_date[$k]['tel'] = $fk_state;
$excel_date[$k]['qq'] = $fh_state;
$excel_date[$k]['email'] = $v['tname'] ? $v['tname'] : $v['username'];
$excel_date[$k]['honor'] = ' '.$v['tel'];
$excel_date[$k]['remark'] = $v['truename'];
$excel_date[$k]['remark_one'] = $fullAddress;
$excel_date[$k]['remark_two'] = $v['kind'];
$excel_date[$k]['remark_three'] = $postscript;
}else{
$excel_date[$k]['comname'] = $v['comname'];
$excel_date[$k]['truename'] = $v['platName'];
$excel_date[$k]['res_id'] = $v['transactionid'];
$excel_date[$k]['sp_id'] = ' '.$v['orderid'];
$excel_date[$k]['class'] = $child_orderid;
$excel_date[$k]['year'] = $product_name;
$excel_date[$k]['city'] = $v['total'];
$excel_date[$k]['zhicheng'] = '¥ '.$v['totalprice'];
$excel_date[$k]['zhiwu'] = $buytime;
$excel_date[$k]['jibie'] = $state;
$excel_date[$k]['tel'] = $fk_state;
$excel_date[$k]['qq'] = $fh_state;
$excel_date[$k]['email'] = $v['tname'] ? $v['tname'] : $v['username'];
$excel_date[$k]['honor'] = ' '.$v['tel'];
$excel_date[$k]['remark'] = $v['truename'];
$excel_date[$k]['remark_one'] = $fullAddress;
$excel_date[$k]['remark_two'] = $v['kind'];
$excel_date[$k]['remark_three'] = $postscript;
}
}
/* 订单总金额 */
$order_total_price = "订单总金额:'$totalprice'";
/* 应付总金额 */
$excel_count = count($excel_date);
if($this->genre != 'branch'){
$payable_price = "总应付金额:'$totalprice_sj";
$excel_date[$excel_count]['zhicheng'] = $order_total_price;
}
/* excel名 */
$xlsName = "订单中心(".date("Y_m_d-H_i_s").")";
$excel_date[$excel_count]['tel'] = $order_total_price;
$this->exportExcel($xlsName,$xlsCell,$excel_date);
}
/* -- 导出excel by:lsn time:05/17 start --- */