导出按钮获取条件并下载
onDcBtnClick : function(){
//获取参数
var param= Render.getProviderParams();
//var range_end= XXX ;
//拼接参数
location.href = '/order/management/downLoadOrders?range_end='+param.range_end+'&range_start='+param.range_start+'&status='+param.status;
},
//下载数据处理
public function downLoadOrders(){
$get = $this->input->get();
$title = array(
'供应商名称',
'产品编号',
'品牌',
'货号',
'规格/包装',
'产品名称',
'入库时间',
'出库时间',
'商城价格',
'领用人姓名',
'发票号',
'对账单号',
);
$param['a.recordid'] = intval($get['id']);
$param['a.is_receive'] = '1';
$ret = $this->db->select("b.name as sidname,a.*,c.invoice_num,c.record_sn")
->from('consign_storage as a')
->join('c_organisation as b','a.sid = b.id','left')
->join('record as c','a.recordid = c.id','left')
->where('a.sid !=',105466)
->where('a.sid !=',0)
->where('a.sid is not null')
->where($param);
$ret = $ret->get()->result_array();
$data = [];
foreach ($ret as $key=>$val){
$membername = $this->db->query("select b.membername from shipment_confirmation a left join user_info b on a.initiator = b.memberid where a.cstorage_id = {$val['id']}")->row_array();
$data[$key]['sidname'] = $val['sidname'];
$data[$key]['barcode'] = $val['barcode'];
$data[$key]['pro_brand'] = $val['pro_brand'];
$data[$key]['item_code'] = $val['item_code'];
$data[$key]['package_name'] = $val['package_name'];
$data[$key]['title'] = $val['title'];
$data[$key]['create_time'] = $val['create_time'];
$data[$key]['delivery_time'] = $val['delivery_time'];
$data[$key]['prom_price'] = $val['prom_price'];
$data[$key]['membername'] = $membername['membername'];
$data[$key]['invoice_num'] = $val['invoice_num'];
$data[$key]['record_sn'] = $val['record_sn'];
}
$this->mexcel->downLoadExcel($data,$title,'寄售对账单');
}
public function downLoadExcel($data,$title,$name){
$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');
foreach($data as $key=>$value){
$dataCount = count($data[$key]);
$newCellName = array_slice($cellName,0,$dataCount);
$dk = array_values($data[$key]);
$newData[$key] = array_combine($newCellName,$dk);
}
/* @实例化 */
$obpe = new PHPExcel();
/* 设置宽度 */
$obpe->getActiveSheet()->getColumnDimension()->setAutoSize(true);
$obpe->getDefaultStyle()->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
$obpe->getDefaultStyle()->getAlignment()->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER);
//设置SHEET
$obpe->setactivesheetindex(0);
$obpe->getActiveSheet()->setTitle('sheet1');
foreach ($title as $tk => $tv) {
$obpe->getactivesheet()->setCellValue($newCellName[$tk].'1', $tv);
}
$row = 2;
foreach($newData as $value){
foreach($newCellName as $k=>$v){
$obpe->getactivesheet()->setCellValue($v.$row, $value[$v]);
}
$row++;
}
$write = new PHPExcel_Writer_Excel2007($obpe);
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-execl");
header("Content-Type:application/octet-stream");
header("Content-Type:application/download");
header('Content-Disposition:attachment;filename="'.$name.date('YmdHi').'.xlsx"');
header("Content-Transfer-Encoding:binary");
$write->save('php://output');exit;
}