使用Laravel 5.4导出CSV / XLSX

我的post太长,但请帮助我!

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

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我得到了

在这里输入图像说明

我想要的文件CSV

在这里输入图像说明

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

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