您好,我正在尝试使用laravel队列导出excel文件。我已经整合了maatwebsite。
public function export()
{
$this->dispatch(new ExportDistributorJob([]));
Session::flash('success','Data is being exported to excel file.');
return redirect()->back();
}
<?php
namespace App\Jobs;
use Illuminate\Bus\Queueable;
use Illuminate\Queue\SerializesModels;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Foundation\Bus\Dispatchable;
use App\Model\Products;
use Excel;
class ExportDistributorJob implements ShouldQueue
{
use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;
public function __construct(array $request)
{
$this->queue = 'default';
$this->data = $request;
}
public function handle()
{
$data = array(
'Name' => 'John',
'City' => 'Washington'
);
return Excel::create('invoice', function($excel) use ($data) {
$excel->sheet('mySheet', function($sheet) use ($data)
{
$sheet->fromArray($data);
});
})->download('xlsx');
}
}
?>
当我执行程序时。它将数据存储在作业表中,并在获得
之后尝试执行3次MaxAttemptsExceededException错误。
我无法使用队列将数据导出到excel文件。
QUEUE_DRIVER=database
任何帮助将不胜感激。
谢谢。
答案 0 :(得分:0)
#include <emscripten.h>
EMSCRIPTEN_KEEPALIVE
int testInt(){
return 69420;
}
类是从软件包名称空间中错误导入的。
Excel
还有use Maatwebsite\Excel\Excel;
方法正在返回HTTP response and terminates the script
在作业的上下文中,这是不会破坏的,因为它会突然结束作业。您应该改为store the spreadsheet。
ExportDistributorJob::handle