将数据导出【excel表】格式
百度网盘依赖文件下载:
链接:https://pan.baidu.com/s/1L8HBtDtiBisAikQKbRnZIg
提取码:cjje
复制这段内容后打开百度网盘手机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'); // 文件通过浏览器下载 }
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】博客园携手 AI 驱动开发工具商 Chat2DB 推出联合终身会员
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 用纯.NET开发并制作一个智能桌面机器人:从.NET IoT入门开始
· 一个超经典 WinForm,WPF 卡死问题的终极反思
· ASP.NET Core - 日志记录系统(二)
· .NET 依赖注入中的 Captive Dependency
· .NET Core 对象分配(Alloc)底层原理浅谈
· .NET 开发的分流抢票软件,不做广告、不收集隐私
· 一个超经典 WinForm,WPF 卡死问题的终极反思
· 开箱你的 AI 语音女友「GitHub 热点速览」
· 前端实现 HTML 网页转 PDF 并导出
· 特斯拉CEO埃隆.马斯克的五步工作法,怎么提高工程效率加速产品开发?