function excelExport2($fileName = '', $headArr = [], $data = [], $widths=[]) { ob_clean(); // $fileName = iconv("UTF-8", "GB2312//IGNORE", @$fileName); $fileName .=".xls"; Loader::import('PHPExcel.PHPExcel'); Loader::import('PHPExcel.PHPExcel.IOFactory.PHPExcel_IOFactory'); $objPHPExcel = new \PHPExcel(); $objPHPExcel->getProperties(); $key = 0; foreach ($headArr as $k=>$v) { $colum = PHPExcel_Cell::stringFromColumnIndex($k); $objPHPExcel->setActiveSheetIndex(0) ->setCellValue($colum.'1', $v); $key += 1; } $column = 2; $objActSheet = $objPHPExcel->getActiveSheet(); foreach($data as $key => $rows){ //行寫入 $span = 0; foreach($rows as $keyName=>$value){// 列寫入 $j = PHPExcel_Cell::stringFromColumnIndex($span); //$objActSheet->setCellValue($j.$column, $value); $objPHPExcel->getActiveSheet(0)->setCellValueExplicit($j.$column, $value,\PHPExcel_Cell_DataType::TYPE_STRING); $span++; } $column++; } $objWriter = \PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5'); header('Content-Type: application/vnd.ms-excel');//告訴瀏覽器將要輸出excel03文件 header('Content-Disposition: attachment;filename="'.$fileName.'"');//告訴瀏覽器將輸出文件的名稱(文件下載) header('Cache-Control: max-age=0');//禁止緩存 $objWriter->save("php://output"); }
//格式轉換 小黑雲轉成ERP public function format_conversion(){ set_time_limit(0); $serial_number=input('param.serial_number'); $name=input('param.name'); $list=Db::name('haohuo_order')->where(['serial_number'=>$serial_number])->select(); if(count($list) && is_array($list)){ $exportData=[]; foreach ($list as $k=>$v){ $arr=array('43',trim($v['order_sn']),$v['goods_name'],$v['order_person'],$v['order_person'],$v['province'],$v['city'], $v['area'],$v['address'],'000000',$v['order_mobile'],'0',$v['remark'], $v['order_time'],$v['order_time'],'','60',$v['goods_model'],'', $v['order_amount'],$v['order_num'],'','0','0','0' ); $exportData[]=$arr; } $filename = $name.'-Erp'.$serial_number; $header = array( "店鋪編碼", "交易編號", "交易標題", "買家會員號", "收貨人的姓名", "收貨人的所在省份","收貨人的所在城市", "收貨人的所在地區", "收貨人的詳細地址", "收貨的人郵編", "收貨人的手機號碼", "是否開票","賣家備註", "交易時間", "付款時間", "交易促銷信息", "快遞公司編碼","商品編碼","商品名稱", "商品價格","購買數量", "發貨倉庫", "是否折扣", "是否運費","是否贈品"); $widths = array(); if ($exportData) { excelExport2($filename, $header, $exportData, $widths);//生成數據 die(); } } }