|
@@ -16,6 +16,7 @@ use think\Db; |
|
@@ -16,6 +16,7 @@ use think\Db; |
16
|
use think\db\Query;
|
16
|
use think\db\Query;
|
17
|
use PhpOffice\PhpSpreadsheet\Spreadsheet;
|
17
|
use PhpOffice\PhpSpreadsheet\Spreadsheet;
|
18
|
use PhpOffice\PhpSpreadsheet\Writer\Xlsx;
|
18
|
use PhpOffice\PhpSpreadsheet\Writer\Xlsx;
|
|
|
19
|
+use PhpOffice\PhpSpreadsheet\IOFactory;
|
19
|
|
20
|
|
20
|
/**
|
21
|
/**
|
21
|
* Class AdminIndexController
|
22
|
* Class AdminIndexController
|
|
@@ -144,7 +145,20 @@ class AdminIndexController extends AdminBaseController |
|
@@ -144,7 +145,20 @@ class AdminIndexController extends AdminBaseController |
144
|
//导出excel
|
145
|
//导出excel
|
145
|
public function export(){//导出Excel
|
146
|
public function export(){//导出Excel
|
146
|
$ids = $this->request->param('ids');
|
147
|
$ids = $this->request->param('ids');
|
|
|
148
|
+ if(isset($ids) && !empty($ids)){
|
147
|
$ids = explode(',',$ids);
|
149
|
$ids = explode(',',$ids);
|
|
|
150
|
+ $xlsData = Db::name('user')
|
|
|
151
|
+ ->whereIn('id',$ids)
|
|
|
152
|
+ ->field('id,user_nickname,user_status,mobile,create_time,last_login_time')
|
|
|
153
|
+ ->select()
|
|
|
154
|
+ ->toArray();
|
|
|
155
|
+ }else{
|
|
|
156
|
+ $xlsData = Db::name('user')
|
|
|
157
|
+ ->where('user_type',2)
|
|
|
158
|
+ ->field('id,user_nickname,user_status,mobile,create_time,last_login_time')
|
|
|
159
|
+ ->select()
|
|
|
160
|
+ ->toArray();
|
|
|
161
|
+ }
|
148
|
$xlsName = "用户表数据";
|
162
|
$xlsName = "用户表数据";
|
149
|
$xlsCell = array(
|
163
|
$xlsCell = array(
|
150
|
array('id','序号'),
|
164
|
array('id','序号'),
|
|
@@ -154,11 +168,7 @@ class AdminIndexController extends AdminBaseController |
|
@@ -154,11 +168,7 @@ class AdminIndexController extends AdminBaseController |
154
|
array('last_login_time','最后登录时间'),
|
168
|
array('last_login_time','最后登录时间'),
|
155
|
array('user_status','状态'),
|
169
|
array('user_status','状态'),
|
156
|
);
|
170
|
);
|
157
|
- $xlsData = Db::name('user')
|
|
|
158
|
- ->whereIn('id',$ids)
|
|
|
159
|
- ->field('id,user_nickname,user_status,mobile,create_time,last_login_time')
|
|
|
160
|
- ->select()
|
|
|
161
|
- ->toArray();
|
171
|
+
|
162
|
foreach ($xlsData as &$v) {
|
172
|
foreach ($xlsData as &$v) {
|
163
|
$v['user_status'] = $v['user_status'] == 1?'正常':'已拉黑';
|
173
|
$v['user_status'] = $v['user_status'] == 1?'正常':'已拉黑';
|
164
|
$v['create_time'] = date('Y-m-d H:i:s',$v['create_time']);
|
174
|
$v['create_time'] = date('Y-m-d H:i:s',$v['create_time']);
|
|
@@ -170,7 +180,6 @@ class AdminIndexController extends AdminBaseController |
|
@@ -170,7 +180,6 @@ class AdminIndexController extends AdminBaseController |
170
|
//导出表格
|
180
|
//导出表格
|
171
|
public function exportExcel($expTitle,$expCellName,$expTableData){
|
181
|
public function exportExcel($expTitle,$expCellName,$expTableData){
|
172
|
|
182
|
|
173
|
- $xlsTitle = iconv('utf-8', 'gb2312', $expTitle);//文件名称
|
|
|
174
|
$fileName = '用户表';//or $xlsTitle 文件名称可根据自己情况设定
|
183
|
$fileName = '用户表';//or $xlsTitle 文件名称可根据自己情况设定
|
175
|
// $filePath = 'upload/user/'.date('Y-m-d',time()).'.xlsx';
|
184
|
// $filePath = 'upload/user/'.date('Y-m-d',time()).'.xlsx';
|
176
|
$topNumber = 1;//表头有几行占用
|
185
|
$topNumber = 1;//表头有几行占用
|
|
@@ -184,7 +193,7 @@ class AdminIndexController extends AdminBaseController |
|
@@ -184,7 +193,7 @@ class AdminIndexController extends AdminBaseController |
184
|
|
193
|
|
185
|
$spreadsheet = new Spreadsheet();
|
194
|
$spreadsheet = new Spreadsheet();
|
186
|
$sheet = $spreadsheet->getActiveSheet();
|
195
|
$sheet = $spreadsheet->getActiveSheet();
|
187
|
- $sheet->setTitle($xlsTitle);
|
196
|
+ $sheet->setTitle($expTitle);
|
188
|
// $spreadsheet->setActiveSheetIndex(0)->setCellValue('A1', $expTitle.' Export time:'.date('Y-m-d H:i:s'));
|
197
|
// $spreadsheet->setActiveSheetIndex(0)->setCellValue('A1', $expTitle.' Export time:'.date('Y-m-d H:i:s'));
|
189
|
//处理表头
|
198
|
//处理表头
|
190
|
foreach ($expCellName as $k=>$v) {
|
199
|
foreach ($expCellName as $k=>$v) {
|
|
@@ -211,11 +220,12 @@ class AdminIndexController extends AdminBaseController |
|
@@ -211,11 +220,12 @@ class AdminIndexController extends AdminBaseController |
211
|
}
|
220
|
}
|
212
|
}
|
221
|
}
|
213
|
ob_end_clean();//清除缓冲区,避免乱码
|
222
|
ob_end_clean();//清除缓冲区,避免乱码
|
214
|
-// header('Content-Type: application/vnd.ms-excel');//告诉浏览器将要输出excel03文件
|
|
|
215
|
- header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');//告诉浏览器数据excel07文件
|
|
|
216
|
- header('Content-Disposition: attachment;filename="'.$fileName.'.xlsx"');
|
223
|
+ header('Content-Type: application/vnd.ms-excel');//告诉浏览器将要输出excel03文件
|
|
|
224
|
+// header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');//告诉浏览器数据excel07文件
|
|
|
225
|
+ header('Content-Disposition: attachment;filename="'.$fileName.'.xls"');
|
217
|
header('Cache-Control: max-age=0');
|
226
|
header('Cache-Control: max-age=0');
|
218
|
- $writer = new Xlsx($spreadsheet);
|
227
|
+// $writer = new Xlsx($spreadsheet);
|
|
|
228
|
+ $writer = IOFactory::createWriter($spreadsheet, 'Xls'); //按照指定格式生成Excel文件
|
219
|
$writer->save('php://output');
|
229
|
$writer->save('php://output');
|
220
|
exit;
|
230
|
exit;
|
221
|
}
|
231
|
}
|