Advertisement
alpa_s

Untitled

Jul 27th, 2017
95
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.72 KB | None | 0 0
  1. /**
  2. * @param $array
  3. * @return \PHPExcel
  4. */
  5. public static function arrayToExcel($array)
  6. {
  7. $excel = new \PHPExcel();
  8. $excel->setActiveSheetIndex(0);
  9. $excel->getDefaultStyle()->getAlignment()->setWrapText(true);
  10.  
  11. // Выбор страницы и её название
  12. $sheet = $excel->getActiveSheet();
  13. $sheet->setTitle(\Yii::t('app', 'Report'));
  14.  
  15. // Установка заголовка
  16. $excel->getActiveSheet()->setTitle('Report');
  17. $char = 'A';
  18. foreach (array_shift($array) as $item) {
  19. $excel->getActiveSheet()->setCellValue($char . '1', $item);
  20. $char++;
  21. }
  22. $row = 2;
  23. if (!empty($array)) {
  24. foreach ($array as $key => $data) {
  25. $char = 'A';
  26. foreach ($data as $cell) {
  27. $excel->getActiveSheet()->setCellValue($char . $row, $cell);
  28. $char++;
  29. }
  30. $row++;
  31. }
  32. }
  33. return $excel;
  34. }
  35.  
  36.  
  37.  
  38. /**HOW TO USE**/
  39.  
  40. if ($jobs && is_array($jobs)) {
  41. $array = Job::prepareForExport($jobs, $type);
  42. $date = date('d-m-Y');
  43. $file = Yii::getAlias("@frontend/web/uploads/{$date}.xls");
  44. try {
  45. $excel = ExcelHelper::arrayToExcel($array);
  46. $objWriter = new \PHPExcel_Writer_Excel2007($excel);
  47. $objWriter->save($file);
  48. return Yii::$app->response->sendFile($file, basename($file));
  49. } catch (\Exception $e) {
  50. Yii::$app->session->setFlash('error', 'Произошла ошибка');
  51. }
  52. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement