使用Laravel导出CSV/XLSX 5.4

问题描述:

我的帖子太长,但请帮帮我!使用Laravel导出CSV/XLSX 5.4

我试图将数据从数据库到CSV文件导出,但我有2个问题:

1.更新:我解决它通过改变CSV到XLSX。

2.如何获得title_name的口头表达?我试过了,但没有奏效。

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

这里是我的TitleJapan型号:

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

这里是我的标题型号:

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

} 

我的控制器:

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'); 
    } 
} 

文件CSV我

enter image description here

文件CSV我想

enter image description here

+0

首先我会尝试导出为'xls'或'xlsx' csv只是一个文本文件,不会理解多张纸 – RiggsFolly

+0

csv文件不能有张纸。这只是优秀的 –

+0

非常感谢你们,我解决了它! –

一个.csv文件,是非常简单的。这只是一些由逗号或其他分隔符分隔的数据。因此,它不能有多个工作表。如果你导出为.xlsx,它应该可以工作。

对于标题的名称,我建议你急切地加载标题,然后将结果处理成一个数组。