一键点击从 Laravel 下载 2 个 Excel 文件?

Download 2 Excell File from Laravel with One Button Click?

路线:

Route::get('/exportPurchasing', 'SummaryController@exportPurchasing')->name('exportPurchasing');

控制器:

    public function exportPurchasing(Request $request)
    {
      return [
      Excel::download(new exportRekapPurchasing, 'RekapPurchasing.xlsx'),
      Excel::download(new exportChecklistWH, 'RekapChecklistWH.xlsx')
      ];
    }

Blade :

<form method="get" action="{{ route('exportPurchasing') }}" enctype="multipart/form-data">
          <div class="input-group">
               <input type="text" name="date" class="form-control datepicker" autocomplete="off" value="">
               <div class="input-group-append">
                    <button type="submit" class="btn btn-primary"><i class="fas fa-download"></i> Rekap Purchasing and Checklis WH</button>
               </div>
          </div>
      </form>

当我点击按钮时,我想要导出数据?我使用了 maatwebsite excel

只需在您的按钮上试试这个:

                    <button type="submit" onclick="downloadTwo()" class="btn btn-primary">

Rekap Purchasing and Checklis WH

定义JS函数如下:

    function downloadTwo(){
     //jquery selection can be achieve via vanilla JS
     let dateVal = $("[name='date']").val();
window.open("{{route('exportPurchasing')}}?data=purcache&date="+dateVal,"_blank");
window.open("{{route('exportPurchasing')}}?data=checklist&date="+dateVal,"_blank");

    return false;
}

在控制器中:

    public function exportPurchasing(Request $request)
        {
          switch($request->data){
          
          case "purcache":
               return Excel::download(new exportRekapPurchasing, 'RekapPurchasing.xlsx');

          case "checklist":
              return Excel::download(new exportChecklistWH, 'RekapChecklistWH.xlsx');

          default :
              return null;
          }
        }