1. 程式人生 > >laravel使用get和post方法提交匯出資料

laravel使用get和post方法提交匯出資料

今天在與前端對匯出資料的介面時,前端跟我說他那邊獲取了一堆亂碼的資料。但我記得我測試的時候用瀏覽器訪問是OK的。於是我找到原始碼,發現自己用的是post路由,就想到當初是因為資料安全而選擇post。所以寫法也要改。前面的安裝Excel元件就跳過哦,因為社群有教程(#^.^#)

(我在資料看到好多引入Excel類的時候 是直接 use Excel ,而我在專案裡面的時候是 use Maatwebsite\Excel\Facades\Excel; 只要正確引入就可以)

get方式匯出表格

 ini_set('memory_limit','500M');
 set_time_limit(0);//設定超時限制為0分鐘
$data=array(['小明','24','男'],['小紅','22','女']); ----------------------------- //資料的拼裝可以自己發揮,但是資料的格式一定array(['小明','24','男'],['小紅','22','女']),鍵一定是0,1,2等數字型別 foreach ($data as $k=>$v){ $cell[$k+1]=array_values($v); } $cell[0] = array('姓名','年齡','性別'); ksort($cell); ----------------------------- Excel::create('使用者'
,function($excel) use ($cell){ $excel->sheet('score', function($sheet) use ($cell){ $sheet->rows($cell); }); })->export('xls');

在瀏覽器中輸入路由地址就可以下載Excel檔案

post方式匯出表格

//post方式 前面資料整裝都是一樣,只是post方式先要在伺服器生成Excel檔案,在在地址中下載
 Excel::create('使用者',function($excel
)
use ($cell){
$excel->sheet('score', function($sheet) use ($cell){ $sheet->rows($cell); }); })->store('xls', public_path('uploads/excel/exports'));//在伺服器中生成檔案 $fileAddress=$_SERVER['HTTP_HOST'].'/uploads/excel/exports/'.$name.'.xls';//檔案地址 return response()->json(['code'=>1,'msg'=>'','data'=>$fileAddress]);//返回給前端跳轉就可以下載了