Вызов неопределенного метода Maatwebsite \ Excel \ Excel :: create () laravel-5.8 - PullRequest
0 голосов
/ 19 июня 2019

Привет, я пытаюсь загрузить данные БД в формате Excel ,,, но когда я нажимаю на кнопку загрузки, появляется сообщение: вызов неопределенного метода Maatwebsite \ Excel \ Excel :: create ()

код контроллера:

    function excel()
{
 $pdf_data = DB::table('importpdfs')->get()->toArray();
 $pdf_array[] = array('Battery', 'No_of_questions_attempted', 'SAS', 'NPR', 'ST', 'GR');
 foreach($pdf_data as $pdf)
 {
  $pdf_array[] = array(
   'Battery'  => $pdf->Battery,
   'No_of_questions_attempted'   => $pdf->No_of_questions_attempted,
   'SAS'    => $pdf->SAS,
   'NPR'  => $pdf->NPR,
   'ST'   => $pdf->ST,
   'GR'   => $pdf->GR
  );
 }
 Excel::create('Pdf Data', function($excel) use ($pdf_array){
  $excel->setTitle('Pdf Data');
  $excel->sheet('Pdf Data', function($sheet) use ($pdf_array){
   $sheet->fromArray($pdf_array, null, 'A1', false, false);
  });
 })->download('xlsx');
}

Ответы [ 3 ]

1 голос
/ 19 июня 2019

Если вы ранее обновили пакет "maatwebsite/excel" до 3. *.версия, метод Excel::create($yourExport) удален.Вместо этого вы должны использовать Excel::download/Excel::store($yourExport).

Пример того, как его следует использовать с новой версией:

use App\Exports\UsersExport;
use Maatwebsite\Excel\Facades\Excel;
use App\Http\Controllers\Controller;

class UsersController extends Controller 
{
    public function export() 
    {
        return Excel::download(new UsersExport, 'users.xlsx');
    }
}

Где UsersExport - это новый класс, созданный с помощью команды make:export.

UsersExport.php:

<?php

namespace App\Exports;

use App\User;
use Maatwebsite\Excel\Concerns\FromCollection;

class UsersExport implements FromCollection
{
    public function collection()
    {
        return User::all();
    }
}

Здесь вы можете найти официальное Руководство по обновлению до новой версии.

0 голосов
/ 19 июня 2019

Метод создания был удален с laravel-excel версия 3.0.

Из руководства по обновлению :

Excel :: create () isудален и заменен Excel :: download / Excel :: store ($ yourExport)

Я бы использовал руководство по быстрому запуску из их документации.

0 голосов
/ 19 июня 2019

Возможно, вы не используете Фасад и не используете файл напрямую, убедитесь, что вы используете

use Maatwebsite\Excel\Facades\Excel;

, а не

use Maatwebsite\Excel\Excel;
...