Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /**
- * @param $array
- * @return \PHPExcel
- */
- public static function arrayToExcel($array)
- {
- $excel = new \PHPExcel();
- $excel->setActiveSheetIndex(0);
- $excel->getDefaultStyle()->getAlignment()->setWrapText(true);
- // Выбор страницы и её название
- $sheet = $excel->getActiveSheet();
- $sheet->setTitle(\Yii::t('app', 'Report'));
- // Установка заголовка
- $excel->getActiveSheet()->setTitle('Report');
- $char = 'A';
- foreach (array_shift($array) as $item) {
- $excel->getActiveSheet()->setCellValue($char . '1', $item);
- $char++;
- }
- $row = 2;
- if (!empty($array)) {
- foreach ($array as $key => $data) {
- $char = 'A';
- foreach ($data as $cell) {
- $excel->getActiveSheet()->setCellValue($char . $row, $cell);
- $char++;
- }
- $row++;
- }
- }
- return $excel;
- }
- /**HOW TO USE**/
- if ($jobs && is_array($jobs)) {
- $array = Job::prepareForExport($jobs, $type);
- $date = date('d-m-Y');
- $file = Yii::getAlias("@frontend/web/uploads/{$date}.xls");
- try {
- $excel = ExcelHelper::arrayToExcel($array);
- $objWriter = new \PHPExcel_Writer_Excel2007($excel);
- $objWriter->save($file);
- return Yii::$app->response->sendFile($file, basename($file));
- } catch (\Exception $e) {
- Yii::$app->session->setFlash('error', 'Произошла ошибка');
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement