這篇文章主要介紹“怎么用laravel+PhpSpreadsheet導(dǎo)出excel并下載”,在日常操作中,相信很多人在怎么用laravel+PhpSpreadsheet導(dǎo)出excel并下載問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”怎么用laravel+PhpSpreadsheet導(dǎo)出excel并下載”的疑惑有所幫助!接下來,請跟著小編一起來學(xué)習(xí)吧!
成都創(chuàng)新互聯(lián)公司于2013年開始,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項目網(wǎng)站設(shè)計、成都網(wǎng)站制作網(wǎng)站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元云州做網(wǎng)站,已為上家服務(wù),為云州各地企業(yè)和個人服務(wù),聯(lián)系電話:028-86922220
效果圖:
官方網(wǎng)站:https://phpspreadsheet.readthedocs.io/en/latest/#getting-started
第一步:導(dǎo)入phpspreadsheet
在IDE里面利用composer安裝,命令如下:
composer require phpoffice/phpspreadsheet
第二步:在laravel項目中使用該插件
以下這段代碼的邏輯是先把需要的數(shù)據(jù)寫入excel然后保存在指定目錄下,在前端利用a標(biāo)簽點擊下載excel文件
$spreadsheet = new Spreadsheet();//實例化 $spreadsheet->setActiveSheetIndex(0);//設(shè)置excel的索引 $sheet=$spreadsheet->getActiveSheet(); /*設(shè)置單元格列寬*/ $sheet->getColumnDimension('A')->setWidth(20); $sheet->getColumnDimension('B')->setWidth(15); $sheet->getColumnDimension('C')->setAutoSize(true); /*設(shè)置字體大小*/ $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
通過代碼可以看出我們可以通過一些特定的設(shè)置去控制生成的excel的樣式,例如設(shè)置單元格寬度,設(shè)置字體大小和顏色等。這些可以根據(jù)需求自行設(shè)置。
前端點擊按鈕下載的代碼如下:
$.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');//創(chuàng)建一個a標(biāo)簽 createA.href=url;//給a標(biāo)簽設(shè)置href屬性 document.body.appendChild(createA);//兼容火狐 createA.click();//給a標(biāo)簽綁定點擊事件,通過a標(biāo)簽的href屬性和點擊事件實現(xiàn)下載的功能 document.body.removeChild(createA); } }else{ layer.msg(data.msg); } } })
到此,關(guān)于“怎么用laravel+PhpSpreadsheet導(dǎo)出excel并下載”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識,請繼續(xù)關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>
當(dāng)前題目:怎么用laravel+PhpSpreadsheet導(dǎo)出excel并下載
URL分享:http://weahome.cn/article/gogcje.html