getActiveSheet(); $sheet->setCellValue('A1', '一级') ->setCellValue('B1', '二级') ->setCellValue('C1', '三级') ->setCellValue('D1', '资产编号') ->setCellValue('E1', '资产名称') ->setCellValue('F1', '资产价格') ->setCellValue('G1', '入库时间') ->setCellValue('H1', '资产总量') ->setCellValue('I1', '申领余量'); $sql = " SELECT t1.asset_number, t1.asset_name, t1.asset_price, t1.create_time, t1.asset_count, t1.asset_margin, COALESCE(l1.type_name, '无分类') AS level1, COALESCE(l2.type_name, '无分类') AS level2, COALESCE(l3.type_name, '无分类') AS level3 FROM wdq_asset_info t1 LEFT JOIN wdq_asset_type l3 ON t1.asset_type = l3.type_id LEFT JOIN wdq_asset_type l2 ON l3.super_type_id = l2.type_id LEFT JOIN wdq_asset_type l1 ON l2.super_type_id = l1.type_id ORDER BY level1, level2, level3 "; $result = Db::query($sql); $row = 2; foreach ($result as $item) { $sheet ->setCellValue("A" . $row, $item['level1']) ->setCellValue("B" . $row, $item['level2']) ->setCellValue("C" . $row, $item['level3']) ->setCellValue("D" . $row, $item['asset_number']) ->setCellValue("E" . $row, $item['asset_name']) ->setCellValue("F" . $row, (string)$item['asset_price']) ->setCellValue("G" . $row, $item['create_time']) ->setCellValue("H" . $row, (string)$item['asset_count']) ->setCellValue("I" . $row, (string)$item['asset_margin']); $row++; } header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'); header('Content-Disposition: attachment;filename="资产信息表.xlsx"'); header('Cache-Control: max-age=0'); $objWriter = new PHPExcel_Writer_Excel2007($objPHPExcel); $objWriter->save('php://output'); } public function excelProjectDownload() { vendor("PHPExcel.PHPExcel.PHPExcel"); vendor("PHPExcel.PHPExcel.Writer.Excel2007"); $param = request()->post('data'); $param = json_decode($param, true); if (empty($param)) { die(json_encode(['error' => '无数据接收'])); } $objPHPExcel = new PHPExcel(); $sheet = $objPHPExcel->getActiveSheet(); $sheet->setCellValue('A1', '项目名称') ->setCellValue('B1', '问题描述') ->setCellValue('C1', '问题等级') ->setCellValue('D1', '创建人') ->setCellValue('E1', '责任人') ->setCellValue('F1', '问题状态') ->setCellValue('G1', '创建时间') ->setCellValue('H1', '完成时间'); $row = 2; foreach ($param as $item) { $ret = db('project_issue_state')->where('id', $item['issue_state'])->field('desp')->find(); switch ($item['issue_level']) { case 1: $item['issue_level_name'] = "一般问题"; break; case 2: $item['issue_level_name'] = "严重问题"; break; case 3: $item['issue_level_name'] = "致命问题"; break; default: $item['issue_level_name'] = "未知问题"; break; } $sheet->setCellValue("A" . $row, $item['project_name'] ?? '') ->setCellValue("B" . $row, $item['issue_desp'] ?? '') ->setCellValue("C" . $row, $item['issue_level_name'] ?? '') ->setCellValue("D" . $row, $item['issue_creator_name'] ?? '') ->setCellValue("E" . $row, $item['issue_processor_name'] ?? '') ->setCellValue("F" . $row, $ret['desp'] ?? '') ->setCellValue("G" . $row, $item['create_time'] ?? '') ->setCellValue("H" . $row, $item['real_close_time'] ?? ''); $row++; } header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'); header('Content-Disposition: attachment;filename="项目问题单列表.xlsx"'); header('Cache-Control: max-age=0'); $objWriter = new PHPExcel_Writer_Excel2007($objPHPExcel); $objWriter->save('php://output'); exit; } public function excelImport() { } }