Laravel 将数据导出到 Excel 需要修改的文件
Laravel Export data into Excel file need to be modified
我想从 tables 下载 2 个用户的数据,我想生成该数据的 excel 文件。
这里只有一个数据table的下载函数叫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');
}
我需要修改此控制器 从 registerdetails 和 bankdetails 获取数据。有谁能帮我解决这个问题吗?
我不确定你想要实现什么。但我希望这对你有所帮助。
您正在使用的 Excel 库(希望它是 maatwebsite/excel 或类似的库)可以使用 Eloquent 查询或查询生成器,如下所示:
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');
}
当然,知道您可以提供并传递任何员工 ID。
您可以在一个 sheet 上导出一个 table,在另一个 sheet 上导出另一个 table,如下所示:
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');
}
试试这个
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');
}
我想从 tables 下载 2 个用户的数据,我想生成该数据的 excel 文件。
这里只有一个数据table的下载函数叫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');
}
我需要修改此控制器 从 registerdetails 和 bankdetails 获取数据。有谁能帮我解决这个问题吗?
我不确定你想要实现什么。但我希望这对你有所帮助。
您正在使用的 Excel 库(希望它是 maatwebsite/excel 或类似的库)可以使用 Eloquent 查询或查询生成器,如下所示:
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');
}
当然,知道您可以提供并传递任何员工 ID。
您可以在一个 sheet 上导出一个 table,在另一个 sheet 上导出另一个 table,如下所示:
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');
}
试试这个
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');
}