2017-07-28 3 views
0

mon poste est trop long mais pls m'aider!Exporter CSV/XLSX en utilisant Laravel 5.4

J'ai essayé d'exporter des données de base de données vers un fichier CSV, mais je suis arrivé 2 problèmes:

1. Mise à jour: Je l'ai résolu en changeant CSV XLSX.

2. Comment puis-je obtenir un nom de titre éloquent? J'ai essayé mais ça n'a pas marché.

$title_japan = TitleJapan::select('id','name',$this->title->name)->get(); 

Voici mon modèle TitleJapan:

class TitleJapan extends Model 
{ 
    public function title() 
    { 
     return $this->belongsTo('App\Title'); 
    } 
} 

Voici mon modèle Titre:

class Title extends Model 
{ 
    public function titleJapan() 
    { 
     return $this->hasMany('App\TitleJapan'); 
    } 

} 

Et mon contrôleur:

class ExportController extends Controller 
{ 
    public function index() 
    { 
     return view('Export.index'); 
    } 

    public function exportTitleCSV() 
    { 
     $title = Title::all(); 
     $title_japan = TitleJapan::select('id','name',$this->title->name)->get(); 

     return Excel::create('Filename', function($excel) use ($title,$title_japan,$title_oversea) { 

      $excel->setTitle('TitleBandai'); 
      $excel->sheet('FirstSheet', function($sheet) use($title_japan) { 
       $sheet->fromArray($title_japan); 
      }); 
      $excel->sheet('SecondSheet', function($sheet) use($title_oversea) { 
       $sheet->fromArray($title_oversea); 
      }); 

     })->export('csv'); 
    } 
} 

fichier CSV je me suis

enter image description here

fichier CSV Je veux

enter image description here

+0

D'abord, je voudrais essayer d'exporter en tant que 'xls' ou' xlsx' Un CSV est juste un fichier texte et ne comprendra pas plusieurs feuilles – RiggsFolly

+0

Les fichiers CSV ne peuvent pas avoir de feuilles. C'est excellent seulement –

+0

Merci beaucoup vous les gars, je l'ai résolu! –

Répondre

1

Un fichier .csv est très simple. Ce sont juste des données séparées par des virgules ou un autre délimiteur. Par conséquent, il ne peut pas avoir plusieurs feuilles. Si vous exportez en .xlsx, cela devrait fonctionner.

Pour le nom du titre, je vous suggère de charger le titre avec impatience, puis de traiter le résultat dans un tableau.