大小网站下载数据库
maatwebsite download database
我使用 laravel 8 和 maatwebsite 3.1,想通过单击图标将我的数据库的 table 下载(导出)为 excel 文件。正如我搜索的那样,我们必须通过 artisan php artisan make:export blogExport --model=blog
创建一个 class 并在控制器中使用下载方法。 Excel::download(new blogExport, 'filename.xlsx');
。 blogExport 包括 collection() 函数,我们应该在其中确定输出事项。但我想在控制器中编写函数并直接在此函数中确定我想要的输出,而不是使用 blogExport。可能吗 ?有一种方法“CREATE”可以使用,但它是旧的并且不受 maatwebsite 3.1 支持。任何答复表示赞赏。
class ExcellExport implements FromCollection, WithHeadings, WithEvents, WithStrictNullComparison,ShouldAutoSize
{
use Exportable;
public function __construct($header, $query)
{
$this->header = $header;
$this->query = $query;
}
//======================================
public function headings(): array
{
return [$this->header];
}
//======================================
public function collection()
{
return collect($this->query);
}
}
然后像这样传递您的查询:
$query = Estate::where($inputs)->with('landlord', 'rented', 'my_estate_list');
$headers=["code,type_caption,space,landlord,area,address,price"];
$resultExcell = new ExcellExport($headers, $query);
return Excel::download($resultExcell, 'file_name.xlsx');
我使用 laravel 8 和 maatwebsite 3.1,想通过单击图标将我的数据库的 table 下载(导出)为 excel 文件。正如我搜索的那样,我们必须通过 artisan php artisan make:export blogExport --model=blog
创建一个 class 并在控制器中使用下载方法。 Excel::download(new blogExport, 'filename.xlsx');
。 blogExport 包括 collection() 函数,我们应该在其中确定输出事项。但我想在控制器中编写函数并直接在此函数中确定我想要的输出,而不是使用 blogExport。可能吗 ?有一种方法“CREATE”可以使用,但它是旧的并且不受 maatwebsite 3.1 支持。任何答复表示赞赏。
class ExcellExport implements FromCollection, WithHeadings, WithEvents, WithStrictNullComparison,ShouldAutoSize
{
use Exportable;
public function __construct($header, $query)
{
$this->header = $header;
$this->query = $query;
}
//======================================
public function headings(): array
{
return [$this->header];
}
//======================================
public function collection()
{
return collect($this->query);
}
}
然后像这样传递您的查询:
$query = Estate::where($inputs)->with('landlord', 'rented', 'my_estate_list');
$headers=["code,type_caption,space,landlord,area,address,price"];
$resultExcell = new ExcellExport($headers, $query);
return Excel::download($resultExcell, 'file_name.xlsx');