安裝laravel框架
excel官網
完整laravel5.3案例框架下載
具體代碼:
if ($res->code == 1) {
if($query['excel'] == 'Y'){
if(!($res->results)){
return redirect()
->back()
->withErrors('數據爲空,請檢查報表條件~')
->withInput();
}
$arr[] = ['ID','用戶ID','用戶名稱','數據ID','狀態','金額(元)','創建日期'];
$amount = 0.00 ;
$total = count($res->results);
foreach($res->results as $val){
$arr[] =[$val->id,$val->u_id,$val->username,$val->d_id,$val->type,$val->amount,date('Y-m-d',$val->created_at)];
$amount += $val->amount;
}
$arr[] = ['','','','','總額:',$amount];
$arr[] = ['',' ',' ','',''];
$arr[] = ['','總條數',$total,'',''];
$arr[] = ['','總金額',$amount,'備註:',''];
$arr[] = ['','用戶註冊','','','徒弟收益(11001)',''];
$arr[] = ['','點擊任務','','','師傅收益(11002)',''];
$arr[] = ['','任務大廳','','','師爺收益(11003)',''];
$arr[] = ['','徒弟收益','','','代理收益(11004)',''];
$arr[] = ['','徒孫收益','','','股東收益(11005)',''];
$arr[] = ['','代理收益','','',''];
$arr[] = ['','股東收益','','',''];
$arr[] = ['','','','',''];
$arr[] = ['','報表用戶',$query['username']];
$arr[] = ['','報表日期',$query['start_date'].'至'.$query['end_date'],];
$arr[] = ['','報表類型:'.$query['type'],'','',''];
$cellData = $arr;
Excel::create('財務報表',function($excel) use ($cellData){
$excel->sheet('財務報表', function($sheet) use ($cellData){
$tot = count($cellData) ;
$sheet->setWidth(array(
'A' => 12,
'B' => 12,
'C' => 12,
'D' => 12,
'E' => 12,
'F' => 12,
'G' => 12,
))->rows($cellData)->setFontSize(12);
//
// $sheet->row($tot-13, function($row) {
// $row->setBackground('#87eabd');
// });
// 數據內容主題 左對齊
$sheet->cells('A1:F'.$tot, function($cells) {
$cells->setAlignment('left');
});
// 菜單 樣式
$sheet->cells('A1:G1', function($cells) {
$cells->setAlignment('center');
$cells->setFontWeight('bold');
});
// 數據統計 樣式
$sheet->cells('A'.($tot-13).':F'.$tot, function($cells) {
$cells->setAlignment('left');
$cells->setFontWeight('bold');
});
// 備註 右對齊
$sheet->cells('D'.($tot-11), function($cells) {
$cells->setAlignment('right');
});
// 備註內容樣式
$sheet->cells('E'.($tot-10).':F'.($tot-6), function($cells) {
$cells->setAlignment('left');
$cells->setFontColor('#a09b9b');
$cells->setFontFamily('Calibri');
$cells->setFontWeight('normal');
$cells->setFontSize(12);
});
// 總金額 高亮顯示
$sheet->cells('F'.($tot-14), function($cells) {
$cells->setBackground('#87eabd');
$cells->setFontWeight('bold');
$cells->setFontSize(14);
});
});
})->export('xls');
}else{
$totalItems = $res->pagination->total;
$itemsPerPage = $res->pagination->per_page;
$currentPage = $res->pagination->current_page;
if ($http_build_query)
{
$urlPattern = url('finance/listing?'.$http_build_query.'&page=') . '(:num)';
}else{
$urlPattern = url('finance/listing') .'?page=(:num)';
}
$paginator = new Paginator($totalItems, $itemsPerPage, $currentPage, $urlPattern);
$paginator->setPreviousText('上一頁');
$paginator->setNextText('下一頁');
$data['listing'] = $res->results;
$data['paginator'] = $paginator;
$data['query'] = $query;
return view('financeRecords.listing', $data);
}
} else {
return redirect()
->back()
->withErrors($res->message)
->withInput();
}