正在显示
1 个修改的文件
包含
36 行增加
和
25 行删除
@@ -51,7 +51,7 @@ class Study extends Backend | @@ -51,7 +51,7 @@ class Study extends Backend | ||
51 | list($where, $sort, $order, $offset, $limit) = $this->buildparams(); | 51 | list($where, $sort, $order, $offset, $limit) = $this->buildparams(); |
52 | 52 | ||
53 | $list = $this->model | 53 | $list = $this->model |
54 | - ->with(['school','team']) | 54 | + ->with(['school', 'team']) |
55 | ->where($where) | 55 | ->where($where) |
56 | ->order($sort, $order) | 56 | ->order($sort, $order) |
57 | ->paginate($limit); | 57 | ->paginate($limit); |
@@ -70,13 +70,14 @@ class Study extends Backend | @@ -70,13 +70,14 @@ class Study extends Backend | ||
70 | } | 70 | } |
71 | 71 | ||
72 | //导出数据 | 72 | //导出数据 |
73 | - public function export(){ | 73 | + public function export() |
74 | + { | ||
74 | if ($this->request->isPost()) { | 75 | if ($this->request->isPost()) { |
75 | set_time_limit(0); | 76 | set_time_limit(0); |
76 | $ids = $this->request->post('ids'); | 77 | $ids = $this->request->post('ids'); |
77 | 78 | ||
78 | $excel = new \PHPExcel(); | 79 | $excel = new \PHPExcel(); |
79 | - $excel->getProperties()->setTitle("学校+积分表"); | 80 | + try { |
80 | $excel->getActiveSheet()->getColumnDimension('A')->setWidth(10); | 81 | $excel->getActiveSheet()->getColumnDimension('A')->setWidth(10); |
81 | $excel->getActiveSheet()->getColumnDimension('B')->setWidth(10); | 82 | $excel->getActiveSheet()->getColumnDimension('B')->setWidth(10); |
82 | $excel->getActiveSheet()->getColumnDimension('C')->setWidth(10); | 83 | $excel->getActiveSheet()->getColumnDimension('C')->setWidth(10); |
@@ -85,37 +86,45 @@ class Study extends Backend | @@ -85,37 +86,45 @@ class Study extends Backend | ||
85 | $excel->getActiveSheet()->getColumnDimension('F')->setWidth(15); | 86 | $excel->getActiveSheet()->getColumnDimension('F')->setWidth(15); |
86 | $excel->getActiveSheet()->getColumnDimension('G')->setWidth(15); | 87 | $excel->getActiveSheet()->getColumnDimension('G')->setWidth(15); |
87 | $excel->getActiveSheet()->getColumnDimension('H')->setWidth(10); | 88 | $excel->getActiveSheet()->getColumnDimension('H')->setWidth(10); |
89 | + | ||
90 | + // 列名表头文字加粗 | ||
91 | + $excel->getActiveSheet()->getStyle('A1:J1')->getFont()->setBold(true); | ||
92 | + // 列表头文字居中 | ||
93 | + $excel->getActiveSheet()->getStyle('A1:J1')->getAlignment() | ||
94 | + ->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER); | ||
95 | + | ||
88 | // 开始操作excel表 | 96 | // 开始操作excel表 |
89 | $worksheet = $excel->setActiveSheetIndex(0) //操作第一个工作表 | 97 | $worksheet = $excel->setActiveSheetIndex(0) //操作第一个工作表 |
90 | - ->setCellValue('A1','序号') //设置表格标题名称 | ||
91 | - ->setCellValue('B1','姓名') //设置表格标题名称 | ||
92 | - ->setCellValue('C1','性别') | ||
93 | - ->setCellValue('D1','班级') | ||
94 | - ->setCellValue('E1','学校') | ||
95 | - ->setCellValue('F1','手环ID') | ||
96 | - ->setCellValue('G1','学号') | ||
97 | - ->setCellValue('H1','总积分'); | ||
98 | - if ($ids=='all' || empty($ids)){ //判断当前数据为全部或者选中的 | 98 | + ->setCellValue('A1', '序号') //设置表格标题名称 |
99 | + ->setCellValue('B1', '姓名') //设置表格标题名称 | ||
100 | + ->setCellValue('C1', '性别') | ||
101 | + ->setCellValue('D1', '班级') | ||
102 | + ->setCellValue('E1', '学校') | ||
103 | + ->setCellValue('F1', '手环ID') | ||
104 | + ->setCellValue('G1', '学号') | ||
105 | + ->setCellValue('H1', '总积分'); | ||
106 | + if ($ids == 'all' || empty($ids)) { //判断当前数据为全部或者选中的 | ||
99 | $list = $this->model->with('school')->select(); | 107 | $list = $this->model->with('school')->select(); |
100 | - }else{ | 108 | + } else { |
101 | $list = $this->model->with('school')->select($ids); | 109 | $list = $this->model->with('school')->select($ids); |
102 | } | 110 | } |
103 | 111 | ||
104 | - foreach ($list as $k => $val){ | 112 | + foreach ($list as $k => $val) { |
113 | + $kk = $k + 1; | ||
105 | $k = $k + 2;//表格是从2开始的 | 114 | $k = $k + 2;//表格是从2开始的 |
115 | + $excel->getActiveSheet()->setTitle($val['school']['title'] . '积分表'); | ||
106 | $worksheet | 116 | $worksheet |
107 | - ->setCellValue('A'.$k,$val['id']) | ||
108 | - ->setCellValue('B'.$k,$val['name']) | ||
109 | - ->setCellValue('C'.$k,$val['gender']?'男':'女') | ||
110 | - ->setCellValue('D'.$k,$val['grade']) | ||
111 | - ->setCellValue('E'.$k,$val['school']['title']) | ||
112 | - ->setCellValue('F'.$k,$val['unique']) | ||
113 | - ->setCellValue('G'.$k,$val['sno']) | ||
114 | - ->setCellValue('H'.$k,$val['earn_score']); | 117 | + ->setCellValue('A' . $k, $val['id']) |
118 | + ->setCellValue('B' . $k, $val['name']) | ||
119 | + ->setCellValue('C' . $k, $val['gender'] ? '男' : '女') | ||
120 | + ->setCellValue('D' . $k, $val['grade']) | ||
121 | + ->setCellValue('E' . $k, $val['school']['title']) | ||
122 | + ->setCellValue('F' . $k, $val['unique']) | ||
123 | + ->setCellValue('G' . $k, $val['sno']) | ||
124 | + ->setCellValue('H' . $k, $val['earn_score']); | ||
115 | } | 125 | } |
116 | - | ||
117 | $excel->createSheet(); | 126 | $excel->createSheet(); |
118 | - $title = "学生成绩记录" . date("YmdHis"); | 127 | + $title = "学生成绩" . date("YmdHis"); |
119 | header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'); | 128 | header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'); |
120 | header('Content-Disposition: attachment;filename="' . $title . '.xlsx"'); | 129 | header('Content-Disposition: attachment;filename="' . $title . '.xlsx"'); |
121 | header('Cache-Control: max-age=0'); | 130 | header('Cache-Control: max-age=0'); |
@@ -127,8 +136,10 @@ class Study extends Backend | @@ -127,8 +136,10 @@ class Study extends Backend | ||
127 | header('Pragma: public'); // HTTP/1.0 | 136 | header('Pragma: public'); // HTTP/1.0 |
128 | $objWriter = \PHPExcel_IOFactory::createWriter($excel, 'Excel2007'); | 137 | $objWriter = \PHPExcel_IOFactory::createWriter($excel, 'Excel2007'); |
129 | $objWriter->save('php://output'); | 138 | $objWriter->save('php://output'); |
139 | + } catch (\PHPExcel_Exception $e) { | ||
140 | + $this->error('参数错误', $e->getMessage()); | ||
141 | + } | ||
130 | exit; | 142 | exit; |
131 | - return; | ||
132 | } | 143 | } |
133 | } | 144 | } |
134 | } | 145 | } |
-
请 注册 或 登录 后发表评论