<?php
function export_order(){
//设置内存
ini_set("memory_limit", "2048M");
set_time_limit(0);
include_once('includes/PHPExcel.php');
include_once('includes/PHPExcel/IOFactory.php');
/* @实例化 */
$obpe_pro = new PHPExcel();
$sql = "select * from ecs_tfx_order_info ";
$res = $GLOBALS['db']->getAll($sql);
if(empty($res)){
sys_msg('请选择需要导出的数据', 1, array(), false);
}
/* 第一个sheet */
$obpe_pro->setActiveSheetIndex(0);
//给Sheet设置名字
$obpe_pro->getActiveSheet()->setTitle("表头");
//设置表格头的输出
$obpe_pro->setActiveSheetIndex()->setCellValue('A1', '订单号');
$obpe_pro->setActiveSheetIndex()->setCellValue('B1', '店铺编码');
$obpe_pro->setActiveSheetIndex()->setCellValue('C1', '订单时间');
$obpe_pro->setActiveSheetIndex()->setCellValue('D1', '付款时间');
$obpe_pro->setActiveSheetIndex()->setCellValue('E1', '总金额');
$obpe_pro->setActiveSheetIndex()->setCellValue('F1', '优惠金额');
$obpe_pro->setActiveSheetIndex()->setCellValue('G1', '运费');
$obpe_pro->setActiveSheetIndex()->setCellValue('H1', '保费');
$obpe_pro->setActiveSheetIndex()->setCellValue('I1', '税费');
$obpe_pro->setActiveSheetIndex()->setCellValue('J1', '收货人');
$obpe_pro->setActiveSheetIndex()->setCellValue('K1', '收货地址');
$obpe_pro->setActiveSheetIndex()->setCellValue('L1', '收货人手机');
$n = 2;
foreach ($res as $row){
$region = handleAddress($row['address']);
$obpe_pro->getActiveSheet()->setCellValue('A'.($n) ,$row['pay_note']);
$obpe_pro->getActiveSheet()->setCellValue('B'.($n) ,$row['store_num']);
$obpe_pro->getActiveSheet()->setCellValue('C'.($n) ,$row['add_time']);
$obpe_pro->getActiveSheet()->setCellValue('D'.($n) ,$row['pay_time']);
$obpe_pro->getActiveSheet()->setCellValue('E'.($n) ,$row['order_amount']);
$obpe_pro->getActiveSheet()->setCellValue('F'.($n) ,0);
$obpe_pro->getActiveSheet()->setCellValue('G'.($n) ,0);
$obpe_pro->getActiveSheet()->setCellValue('H'.($n) ,0);
$obpe_pro->getActiveSheet()->setCellValue('I'.($n) ,0);
$obpe_pro->getActiveSheet()->setCellValue('J'.($n) ,$row['consignee']);
$obpe_pro->getActiveSheet()->setCellValue('K'.($n) ,$row['address']);
$obpe_pro->getActiveSheet()->setCellValue('L'.($n) ,$row['tel']);
$n = $n +1;
$ids[] = $row['order_sn'];
}
$ids_str = implode(',',$ids);
$sql = "select o.pay_note,g.* from ecs_tfx_order_info as o left join ecs_tfx_order_goods as g on g.order_sn = o.order_sn where o.order_sn in ('$ids_str')";
$goods_list = $GLOBALS['db']->getAll($sql);
$i = 2;
/* 第二个sheet */
$obpe_pro->createSheet();
$obpe_pro->setActiveSheetIndex(1);
//给Sheet设置名字
$obpe_pro->getActiveSheet()->setTitle("表体");
$obpe_pro->setActiveSheetIndex(1)->setCellValue('A1', '订单号');
$obpe_pro->setActiveSheetIndex(1)->setCellValue('B1', '商品序号');
$obpe_pro->setActiveSheetIndex(1)->setCellValue('C1', '商品编码');
$obpe_pro->setActiveSheetIndex(1)->setCellValue('D1', '商品单价');
$obpe_pro->setActiveSheetIndex(1)->setCellValue('E1', '商品数量');
$obpe_pro->setActiveSheetIndex(1)->setCellValue('F1', '客户批次号');
foreach ($goods_list as $k=>$v){
$num = $k +1;
$obpe_pro->getActiveSheet()->setCellValue('A'.($i) ,$v['pay_note']);
$obpe_pro->getActiveSheet()->setCellValue('B'.($i) ,$num);
$obpe_pro->getActiveSheet()->setCellValue('C'.($i) ,$v['goods_sn']);
$obpe_pro->getActiveSheet()->setCellValue('D'.($i) ,$v['total_price']);
$obpe_pro->getActiveSheet()->setCellValue('E'.($i) ,$v['goods_number']);
$obpe_pro->getActiveSheet()->setCellValue('F'.($i) ,'');
$i = $i +1;
}
ob_end_clean();
ob_start();
header('Content-Type : application/vnd.ms-excel');
//设置输出文件名及格式
header('Content-Disposition:attachment;filename="订单表'.'.xls"');
//导出.xls格式的话使用Excel5,若是想导出.xlsx需要使用Excel2007
$objWriter= PHPExcel_IOFactory::createWriter($obpe_pro,'Excel5');
$objWriter->save('php://output');
ob_end_flush();
}