2017-06-23 4 views
0

Ich möchte 2 Benutzerdaten aus Tabellen herunterladen, ich möchte Excel-Datei dieser Daten generieren.Laravel Exportieren von Daten in Excel-Datei muss geändert werden

Hier ist die Download-Funktion für nur eine Datentabelle namens Registerdetails.

public function export(){ 
    $items = registerdetails::all(); 
    Excel::create('General Trainee Details', function($excel) use($items){ 
     $excel->sheet('Sheet 1', function($sheet) use($items){ 
      $sheet->fromArray($items); 
     }); 
    })->export('xlsx'); 
} 

Ich brauche diese Controller get Daten aus registerdetails und Bankdaten modifiziert werden. wenn mir jemand helfen kann, das gelöst zu bekommen?

Antwort

1

versuchen diese

public function collectionexport_all(){ 
    $items = registerdetails::join('bankdetails', 'bankdetails.id', '=', 'registerdetails.id')->get(); 
    $itemsArray = []; 
    foreach ($items as $item) { 
     $itemsArray[] = $item->toArray(); 
    } 

    Excel::create('Full Details', function($excel) use($itemsArray){ 
    $excel->sheet('Sheet 1', function($sheet) use($itemsArray){ 

     $sheet->fromArray($itemsArray); 

    }); 

})->export('xlsx'); 
} 
+0

das funktioniert gut für mich – Dasun

0

Ich bin mir nicht sicher, was Sie erreichen wollen .. Aber ich hoffe, das hilft.

Die Excel-Bibliothek Sie verwenden (in der Hoffnung es maatwebsite ist/Excel oder seine dergleichen) Verwendung von Eloquent Abfragen oder Query Builder wie so machen:

public function export($id){ 

    Excel::create('General Trainee Details', function($excel) use($id){ 
     $excel->sheet('Sheet 1', function($sheet) use($id){ 
      $query= registerdetails::select(['registerdetailscolumn_1', 'registerdetailscolumn_2')->leftjoin('bankdetails', 'registerdetailscolumn_id', '=', 'bankdetailscolumn_id')->where(registerdetailscolumn_id, '=', $id); 
      $sheet->fromModel($query); 
     }); 
    })->export('xlsx'); 
} 

Natürlich wissen Sie können entlang bieten und übergeben was auch immer die ID eines Angestellten ist.

können Sie eine Tabelle auf einem Blatt exportieren und eine andere Tabelle auf einem anderen Blatt wie folgt:

public function export(){ 

     Excel::create('General Trainee Details', function($excel) use($id){ 
      $excel->sheet('Sheet 1', function($sheet){ 
       $query= registerdetails::all(); 
       $sheet->fromModel($query); 
      }); 
      $excel->sheet('Sheet 2', function($sheet){ 
       $query= bankdetails::all(); 
       $sheet->fromModel($query); 
      }); 
     })->export('xlsx'); 
    } 
+0

, was ich brauche, um registerdetails wird müssen und Bankdaten sind zwei getrennte Datentabellen so dass ich diese beiden Daten in eine einzige Excel-Datei herunterladen müssen – Dasun

+0

Wenn Sie zwei Tabellen auswählen und sie auf einem einzigen Blatt platzieren möchten, werfen Sie einen Blick auf sqls * Union * – Odinovsky

+0

bro können wir hier einen Chat starten – Dasun

Verwandte Themen