他试图以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');
}
答案 0 :(得分:1)
如果您先前将"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();
}
}
在这里您可以找到官方Upgrade guide的新版本。
答案 1 :(得分:0)
您可能没有使用Facade并直接使用文件,请确保使用
use Maatwebsite\Excel\Facades\Excel;
而不是
use Maatwebsite\Excel\Excel;
答案 2 :(得分:0)
使用3.0
版本df = new_df[new_df.groupby(level=0)['col3'].transform('size').ne(1)]
删除了create方法。
Excel :: create()被删除并替换为 Excel :: download / Excel :: store($ yourExport)
我会使用他们文档中的quickstart guide。