Skip to content

Commit 6d25abd

Browse files
author
phpNT
authored
0.0.5
1 parent d2ad575 commit 6d25abd

File tree

1 file changed

+18
-18
lines changed

1 file changed

+18
-18
lines changed

controllers/ExportController.php

+18-18
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99

1010
namespace phpnt\exportFile\controllers;
1111

12+
use common\models\search\UserSearch;
1213
use Yii;
1314
use Dompdf\Dompdf;
1415
use Dompdf\Options;
@@ -23,12 +24,12 @@ public function actionExcel()
2324
$searchModel = $data['searchModel'];
2425
$dataProvider = $data['dataProvider'];
2526
$title = $data['title'];
26-
$modelName = $data['modelName'];
27+
$tableName = $data['tableName'];
2728
$fields = $this->getFieldsKeys($searchModel->exportFields());
2829

2930
$objPHPExcel = new \PHPExcel();
3031
$objPHPExcel->setActiveSheetIndex(0);
31-
$objPHPExcel->getActiveSheet()->setTitle($title ? $title : $modelName);
32+
$objPHPExcel->getActiveSheet()->setTitle($title ? $title : $tableName);
3233
$letter = 65;
3334
foreach ($fields as $one) {
3435
$objPHPExcel->getActiveSheet()->getColumnDimension(chr($letter))->setAutoSize(true);
@@ -61,7 +62,7 @@ public function actionExcel()
6162
}
6263

6364
header('Content-Type: application/vnd.ms-excel');
64-
$filename = $modelName.'_'.time().".xls";
65+
$filename = $tableName.".xls";
6566
header('Content-Disposition: attachment;filename='.$filename);
6667
header('Cache-Control: max-age=0');
6768
$objWriter = \PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
@@ -73,7 +74,7 @@ public function actionCsv()
7374
$data = $this->getData();
7475
$searchModel = $data['searchModel'];
7576
$dataProvider = $data['dataProvider'];
76-
$modelName = $data['modelName'];
77+
$tableName = $data['tableName'];
7778
$fields = $this->getFieldsKeys($searchModel->exportFields());
7879
$csvCharset = \Yii::$app->request->post('csvCharset');
7980

@@ -83,7 +84,7 @@ public function actionCsv()
8384
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
8485
header('Content-Description: File Transfer');
8586
header('Content-Type: text/csv');
86-
$filename = $modelName.'_'.time().".csv";
87+
$filename = $tableName.".csv";
8788
header('Content-Disposition: attachment;filename='.$filename);
8889
header('Content-Transfer-Encoding: binary');
8990

@@ -123,7 +124,7 @@ public function actionCsv()
123124
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
124125
header('Content-Description: File Transfer');
125126
header('Content-Type: text/csv');
126-
$filename = $modelName.'_'.time().".csv";
127+
$filename = $tableName.".csv";
127128
header('Content-Disposition: attachment;filename='.$filename);
128129
header('Content-Transfer-Encoding: binary');
129130

@@ -165,7 +166,7 @@ public function actionWord()
165166
$searchModel = $data['searchModel'];
166167
$dataProvider = $data['dataProvider'];
167168
$title = $data['title'];
168-
$modelName = $data['modelName'];
169+
$tableName = $data['tableName'];
169170
$fields = $this->getFieldsKeys($searchModel->exportFields());
170171

171172
$phpWord = new \PhpOffice\PhpWord\PhpWord();
@@ -178,7 +179,7 @@ public function actionWord()
178179
$sectionStyle->setMarginBottom(300);
179180
$sectionStyle->setMarginLeft(300);
180181
$phpWord->addTitleStyle(1, ['name'=>'HelveticaNeueLT Std Med', 'size'=>16], ['align'=>'center']); //h
181-
$section->addTitle('<p style="font-size: 24px; text-align: center;">'.$title ? $title : $modelName.'</p>');
182+
$section->addTitle('<p style="font-size: 24px; text-align: center;">'.$title ? $title : $tableName.'</p>');
182183

183184
$table = $section->addTable(
184185
[
@@ -224,7 +225,7 @@ public function actionWord()
224225
}
225226

226227
header('Content-Type: application/vnd.ms-word');
227-
$filename = $modelName.'_'.time().".docx";
228+
$filename = $tableName.".docx";
228229
header('Content-Disposition: attachment;filename='.$filename .' ');
229230
header('Cache-Control: max-age=0');
230231
$objWriter = \PhpOffice\PhpWord\IOFactory::createWriter($phpWord, 'Word2007');
@@ -237,12 +238,12 @@ public function actionHtml()
237238
$searchModel = $data['searchModel'];
238239
$dataProvider = $data['dataProvider'];
239240
$title = $data['title'];
240-
$modelName = $data['modelName'];
241+
$tableName = $data['tableName'];
241242
$fields = $this->getFieldsKeys($searchModel->exportFields());
242243

243244
$phpWord = new \PhpOffice\PhpWord\PhpWord();
244245
$section = $phpWord->addSection();
245-
$section->addTitle($title ? $title : $modelName);
246+
$section->addTitle($title ? $title : $tableName);
246247
$table = $section->addTable(
247248
[
248249
'name' => 'Tahoma',
@@ -284,7 +285,7 @@ public function actionHtml()
284285
}
285286

286287
header('Content-Type: application/html');
287-
$filename = $modelName.'_'.time().".html";
288+
$filename = $tableName.".html";
288289
header('Content-Disposition: attachment;filename='.$filename .' ');
289290
header('Cache-Control: max-age=0');
290291
$objWriter = \PhpOffice\PhpWord\IOFactory::createWriter($phpWord, 'HTML');
@@ -297,14 +298,14 @@ public function actionPdf()
297298
$searchModel = $data['searchModel'];
298299
$dataProvider = $data['dataProvider'];
299300
$title = $data['title'];
300-
$modelName = $data['modelName'];
301+
$tableName = $data['tableName'];
301302
$fields = $this->getFieldsKeys($searchModel->exportFields());
302303

303304
$options = new Options();
304305
$options->set('defaultFont', 'times');
305306
$dompdf = new Dompdf($options);
306307
$html = '<html><body>';
307-
$html .= '<h1>'.$title ? $title : $modelName.'</h1>';
308+
$html .= '<h1>'.$title ? $title : $tableName.'</h1>';
308309
$html .= '<table width="100%" cellspacing="0" cellpadding="0">';
309310
$html .= '<tr style="background-color: #ececec;">';
310311
foreach ($fields as $one) {
@@ -328,15 +329,14 @@ public function actionPdf()
328329
$dompdf->loadHtml($html);
329330
$dompdf->setPaper('A4', 'landscape');
330331
$dompdf->render();
331-
$dompdf->stream($modelName.'_'.time());
332+
$dompdf->stream($tableName.'_'.time());
332333
}
333334

334335
private function getData() {
335336
$queryParams = Json::decode(\Yii::$app->request->post('queryParams'));
336337
$searchModel = \Yii::$app->request->post('model');
337-
$array = explode("\\", $searchModel);
338-
$modelName = end($array);
339338
$searchModel = new $searchModel;
339+
$tableName = $searchModel->tableName();
340340
$dataProvider = $searchModel->search($queryParams);
341341
$title = \Yii::$app->request->post('title');
342342
$getAll = \Yii::$app->request->post('getAll');
@@ -347,7 +347,7 @@ private function getData() {
347347
'dataProvider' => $dataProvider,
348348
'searchModel' => $searchModel,
349349
'title' => $title,
350-
'modelName' => $modelName
350+
'tableName' => $tableName
351351
];
352352
}
353353

0 commit comments

Comments
 (0)