您好,登錄后才能下訂單哦!
這篇文章主要介紹“怎么用laravel+PhpSpreadsheet導出excel并下載”,在日常操作中,相信很多人在怎么用laravel+PhpSpreadsheet導出excel并下載問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”怎么用laravel+PhpSpreadsheet導出excel并下載”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
效果圖:
官方網站:https://phpspreadsheet.readthedocs.io/en/latest/#getting-started
第一步:導入phpspreadsheet
在IDE里面利用composer安裝,命令如下:
composer require phpoffice/phpspreadsheet
第二步:在laravel項目中使用該插件
以下這段代碼的邏輯是先把需要的數據寫入excel然后保存在指定目錄下,在前端利用a標簽點擊下載excel文件
$spreadsheet = new Spreadsheet();//實例化 $spreadsheet->setActiveSheetIndex(0);//設置excel的索引 $sheet=$spreadsheet->getActiveSheet(); /*設置單元格列寬*/ $sheet->getColumnDimension('A')->setWidth(20); $sheet->getColumnDimension('B')->setWidth(15); $sheet->getColumnDimension('C')->setAutoSize(true); /*設置字體大小*/ $sheet->getStyle('A1:c1')->getFont()->setBold(true)->setName('Arial')->setSize(10); //鎖定表頭 $sheet->freezePane('A2'); $sheet->setCellValue('A1','答卷時間') ->setCellValue('B1','答卷人姓名') ->setCellValue('C1','答案文本'); $sheet->fromArray($result,null,'A2'); $writer = new Xls($spreadsheet); $pathUrl = public_path(). '\excel/'; $filePath=$pathUrl.$fileName; //判斷目錄是否存在,如果不存在就新建 if(!is_dir($pathUrl)) mkdir($pathUrl,0755,true); $writer->save($filePath); //保存excel
通過代碼可以看出我們可以通過一些特定的設置去控制生成的excel的樣式,例如設置單元格寬度,設置字體大小和顏色等。這些可以根據需求自行設置。
前端點擊按鈕下載的代碼如下:
$.ajax({ url:ajaxUrl, type:'GET', data:{ '_token':token, 'paperId':paperId, 'optionId':optionId }, success:function (data) { if (data.code===1){ if(data.data.length>0){ var path = data.data,//返回excel文件的地址 url = "{{asset('')}}"+path,//包裝地址 createA=document.createElement('a');//創建一個a標簽 createA.href=url;//給a標簽設置href屬性 document.body.appendChild(createA);//兼容火狐 createA.click();//給a標簽綁定點擊事件,通過a標簽的href屬性和點擊事件實現下載的功能 document.body.removeChild(createA); } }else{ layer.msg(data.msg); } } })
到此,關于“怎么用laravel+PhpSpreadsheet導出excel并下載”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。