百度網盤依賴文件下載:php
連接:https://pan.baidu.com/s/1L8HBtDtiBisAikQKbRnZIg
提取碼:cjje
複製這段內容後打開百度網盤手機App,操做更方便哦瀏覽器
導出方案app
//導出人員模板 public function temp_out($fileName = '', $headArr = array(), $data = array(), $dataHeader = array()){ $blUserModel = M('bl_user','endthink_','DB_CONFIG2'); $list = $blUserModel->where(array('status' => 1))->order('bl_number asc')->field('bl_number,name,jiaban_type')->select(); $newData = array(); foreach($list as $k => $v){ $newData[] = array( 'uid' => $v['bl_number'], 'name' => $v['name'], 'hour' => '', 'hourall' => '', 'days' => '', 'type' => $v['jiaban_type'], 'leave' => '0', 'month' => date('Ym',time()) ); } if(!$newData) $this->error('暫無符合條件的數據!'); //$headArr = array('工號','姓名','下午加班時長', '總加班時長(上午+下午)', '類型(1:加班費和積分 2:僅加班費 3:僅積分)', '出差天數', '出差加班時長(下午)', '出差類型(1:有補助有加班費 2:有補助無加班費 3:無補助有加班費 4:無補助無加班費)', '請假天數','月份'); //$dataHeader = array('uid','name','hour','hourall','type','days','hourcc' ,'cc_type','leave','month'); $conf = array( 'uid' => '工號', 'name' => '姓名', 'hour' => '下午加班時長(包括出差加班)', 'hourall' => '非出差加班時長', 'days' => '出差天數', 'type' => '類型(1:有補助有加班費 2:有補助無加班費 3:無補助無加班費)', 'leave' => '請假天數', 'month' => '月份' ); $headArr = array_values($conf); $dataHeader = array_keys($conf); $fileName = date('Y年m月',time()).'加班統計模板.xls'; dataExportOut($headArr, $newData, $dataHeader, $fileName); }
function.php
輸入導出
/** * function.php 輸入導出 */ function dataExportOut($headArr, $newData, $dataHeader, $fileName){ vendor("PHPExcel.PHPExcel"); $objPHPExcel = new \PHPExcel(); $objPHPExcel->getProperties(); $key = ord("A"); // 設置表頭 foreach ($headArr as $v) { $colum = chr($key); $objPHPExcel->setActiveSheetIndex(0)->setCellValue($colum . '1', $v); $key += 1; } if($newData){ $column = 2; $objActSheet = $objPHPExcel->getActiveSheet(); foreach ($newData as $key => $rows) { // 行寫入 $span = ord("A"); foreach ($rows as $keyName => $value) { // 列寫入 foreach ($dataHeader as $head) { if ($head == $keyName) { $objActSheet->setCellValue(chr($span) . $column, $value); $span++; } } } $column++; } } $fileName = iconv("utf-8", "gb2312", $fileName); // 重命名錶 $objPHPExcel->setActiveSheetIndex(0); // 設置活動單指數到第一個表,因此Excel打開這是第一個表 ob_end_clean(); ob_start(); header('Content-Type: application/vnd.ms-excel;charset=UTF-8'); header("Content-Disposition: attachment;filename='$fileName'"); header('Cache-Control: max-age=0'); $objWriter = \PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5'); $objWriter->save('php://output'); // 文件經過瀏覽器下載 }