You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
<?php
namespace App\AdminSupplier\Extensions;use App\Exports\ProductExport;use App\Jobs\ExportProductToExcel;use Dcat\Admin\Admin;use Dcat\Admin\Grid\Exporters\AbstractExporter;use Maatwebsite\Excel\Facades\Excel;
/** * Excel导出功能 */class ProductToExcelExporter extends AbstractExporter{ public function export() { $export_type = request('_export_'); if ($export_type == 'all') { ExportProductToExcel::dispatch(\Admin::user()->id); return redirect(admin_url('product/export'))->send(); } else if (str_starts_with($export_type, 'selected:')) { $ids = explode(',', substr($export_type, strlen('selected:'))); $ids = array_filter($ids, fn($v) => preg_match('/^\d+$/', $v));
return Excel::download(new ProductExport(Admin::user()->id, $ids), '导出选择产品-' . date('Y-m-d H:i:s') . '.xlsx')->send(); } }}
|