laravel框架設計excel表格式

安裝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();
        }

轉載原博主

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章