亚洲欧美日韩综合系列在线_91精品人妻一区二区_欧美大肥婆一级特大AA片_九色91视频免费观看_亚洲综合国产精品_av中文字幕在线不卡_久久精品色综合网_看黄色视频的软件_无卡无码高清中文字幕码2024_亚洲欧美日韩天堂网

在 Laravel 5 中使用 Laravel Excel 實(shí)現(xiàn) Excel/CSV 文件導(dǎo)入導(dǎo)出功能

來(lái)源:轉(zhuǎn)載 發(fā)布時(shí)間:2018-07-02 15:17:25 閱讀量:803

1、簡(jiǎn)介

Laravel Excel 在 Laravel 5 中集成 PHPOffice 套件中的 PHPExcel,從而方便我們以優(yōu)雅的、富有表現(xiàn)力的代碼實(shí)現(xiàn)Excel/CSV文件的導(dǎo)入和導(dǎo)出。

該項(xiàng)目的GitHub地址是:https://github.com/Maatwebsite/Laravel-Excel。

本文我們將在Laravel中使用Laravel Excel簡(jiǎn)單實(shí)現(xiàn)Excel文件的導(dǎo)入和導(dǎo)出。

2、安裝&配置

使用Composer安裝依賴

首先在Laravel項(xiàng)目根目錄下使用Composer安裝依賴:

composer require maatwebsite/excel

要安裝插件為3.0之前的,3.0的話官方還沒(méi)有文檔,按之前操作方式去操作會(huì)報(bào)錯(cuò),切記

如果按照命令運(yùn)行后,發(fā)現(xiàn)安裝版本為3.0后怎么辦

卸載命令

composer remove maatwebsite/excel

然后指定版本安裝

composer require maatwebsite/excel 2.*

表示安裝2.0之后的任何可安裝版本

親測(cè)好使

安裝后的設(shè)置

config/app.php中注冊(cè)服務(wù)提供者到providers數(shù)組:

Maatwebsite\Excel\ExcelServiceProvider::class,

同樣在config/app.php中注冊(cè)門(mén)面到aliases數(shù)組:

'Excel' => Maatwebsite\Excel\Facades\Excel::class,

3、導(dǎo)出Excel文件

為了演示Laravel Excel相關(guān)功能,我們?yōu)楸緶y(cè)試創(chuàng)建一個(gè)干凈的控制器ExcelController.php

php artisan make:controller ExcelController --plain

然后在routes.php中定義相關(guān)路由:

Route::get('excel/export','ExcelController@export');Route::get('excel/import','ExcelController@import');

接下來(lái)我們先在ExcelController.php中定義export方法實(shí)現(xiàn)導(dǎo)出功能:

<?phpnamespace App\Http\Controllers;use Illuminate\Http\Request;use App\Http\Requests;use App\Http\Controllers\Controller;use Excel;class ExcelController extends Controller{//Excel文件導(dǎo)出功能 By Laravel學(xué)院public function export(){$cellData = [['學(xué)號(hào)','姓名','成績(jī)'],['10001','AAAAA','99'],['10002','BBBBB','92'],['10003','CCCCC','95'],['10004','DDDDD','89'],['10005','EEEEE','96'],];Excel::create('學(xué)生成績(jī)',function($excel) use ($cellData){$excel->sheet('score', function($sheet) use ($cellData){$sheet->rows($cellData);});})->export('xls');}}

我們?cè)跒g覽器中訪問(wèn)http://www.poem.com/export,會(huì)導(dǎo)出一個(gè)名為學(xué)生成績(jī).xls的Excel文件:

使用Laravel Excel導(dǎo)出文件

如果你要導(dǎo)出csv或者xlsx文件,只需將export方法中的參數(shù)改成csv或xlsx即可。

如果還要將該Excel文件保存到服務(wù)器上,可以使用store方法:

Excel::create('學(xué)生成績(jī)',function($excel) use ($cellData){$excel->sheet('score', function($sheet) use ($cellData){$sheet->rows($cellData);});})->store('xls')->export('xls');

文件默認(rèn)保存到storage/exports目錄下,如果出現(xiàn)文件名中文亂碼,將上述代碼文件名做如下修改即可:

iconv('UTF-8', 'GBK', '學(xué)生成績(jī)')

4、導(dǎo)入Excel文件

我們將剛才保存到服務(wù)器上的Excel文件導(dǎo)入進(jìn)來(lái),導(dǎo)入很簡(jiǎn)單,使用Excel門(mén)面上的load方法即可:

//Excel文件導(dǎo)入功能 By Laravel學(xué)院public function import(){$filePath = 'storage/exports/'.iconv('UTF-8', 'GBK', '學(xué)生成績(jī)').'.xls';Excel::load($filePath, function($reader) {$data = $reader->all();dd($data);});}

load方法基于項(xiàng)目根路徑作為根目錄,同樣我們對(duì)中文進(jìn)行了轉(zhuǎn)碼,否則會(huì)提示文件不存在。


標(biāo)簽: PHP
分享:
評(píng)論:
你還沒(méi)有登錄,請(qǐng)先