99
1010namespace phpnt \exportFile \controllers ;
1111
12+ use common \models \search \UserSearch ;
1213use Yii ;
1314use Dompdf \Dompdf ;
1415use 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