Laravel Excel HTML конвертировать в Excel не работает - PullRequest
0 голосов
/ 14 декабря 2018

Я использую версию Laravel 5.6 и версию 3.1 laravel-excel.maatwebsite.Я хочу конвертировать HTML в Excel-файл.

В официальной документации они не предоставили достаточно информации для преобразования HTML-представлений в Excel.У меня трудное время.

Ниже приведен код для App\Exports\AttendanceExport

    <?php

          namespace App\Exports;

          use App\Models\Student\StudentAttendenceModel;
          use Illuminate\Contracts\View\View;
          use Maatwebsite\Excel\Concerns\FromView;
          use Maatwebsite\Excel\Concerns\FromCollection;

          class AttendanceExport implements FromView {
                  protected  $data = [];

                  public function __construct($data) {
                          $this->data = $data;
                  }

                  public function view(): View {                         
                          return view($this->data['file_path'], [
                                    'data' => $this->data
                          ]);
                  }

          }

МОЙ КОД КОНТРОЛЛЕРА: Reports\ReportsFormProcessController

    <?php

  namespace App\Http\Controllers\Reports;

  use Illuminate\Http\Request;
  use App\Http\Controllers\Controller;
  use Illuminate\Support\Facades\Response;
  use Illuminate\Support\Facades\Redirect;
  use App\Models\Student\StudentAttendenceModel;
  //EXCEL
  use App\Exports\AttendanceExport;
  use Maatwebsite\Excel\Facades\Excel; 

    class ReportsFormProcessController extends Controller {
          public function __construct() {
                  parent::__construct();
          }     

            protected function processStdAttendance($data) {
                $excel_query = [
                    'file_name' => 'test.xlsx',
                    'sheet_name' => 'sheet 11',
                    'file_path' => 'reports.excel_templates.test',
                    'query_results' => $info_array['query_results'], //THIS AS A RESULT FROM DB
                ];

                $attendanceExport = new AttendanceExport($excel_query);
                return $attendanceExport->view();
            }

    }

МОЙ HTML-ШАБЛОН СОДЕРЖИТТАБЛИЦА НИЖЕ

    <!DOCTYPE html>
<html>
        <title>HTML Tutorial</title>
        <body>

                <table style="width:100%">
                        <tr>
                                <th>Firstname</th>
                                <th>Lastname</th> 
                                <th>Age</th>
                        </tr>
                        <tr>
                                <td>Jill</td>
                                <td>Smith</td> 
                                <td>50</td>
                        </tr>
                        <tr>
                                <td>Eve</td>
                                <td>Jackson</td> 
                                <td>94</td>
                        </tr>
                </table>
        </body>
</html>

Я НЕ ПОЛУЧУ ЛЮБЫХ ОШИБОК, ТАКЖЕ Я НЕ ПОЛУЧУ ОТЛИЧНЫЙ СКАЧАТЬ ФАЙЛ

СПАСИБО ЗА ПРЕДЕЛА

/ * РЕДАКТИРОВАТЬ * / ЭТОНИЖЕ КОД ХРАНИЛИЩА EXCEL ФАЙЛ В STORAGE/APP ПАПКА.

return (new AttendanceExport($excel_query))->store('student_attendance.xlsx');

НО КОД ДОКУМЕНТА НИЖЕ НЕ ЗАГРУЖАЕТ ФАЙЛ EXCEL.

return Excel::download(new AttendanceExport($excel_query), 'student_attendance.xlsx');// THIS DOES NOT DOWNLOAD 
...