使用 Laravel 5.4 导出 CSV/XLSX
Export CSV/XLSX using Laravel 5.4
我的 post 太长了,但请帮助我!
我尝试将数据从数据库导出到 CSV 文件,但遇到了 2 个问题:
1.更新:我通过将 CSV 更改为 XLSX 解决了这个问题。
2。如何在 eloquent 中获得 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,它应该可以工作。
标题的名字,建议先加载标题再处理成数组。
我的 post 太长了,但请帮助我!
我尝试将数据从数据库导出到 CSV 文件,但遇到了 2 个问题:
1.更新:我通过将 CSV 更改为 XLSX 解决了这个问题。
2。如何在 eloquent 中获得 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,它应该可以工作。
标题的名字,建议先加载标题再处理成数组。