首頁 >後端開發 >php教程 >Laravel5中使用LaravelExcel實作檔案匯出功能

Laravel5中使用LaravelExcel實作檔案匯出功能

不言
不言原創
2018-05-08 10:51:524970瀏覽

這篇文章主要介紹了Laravel5中使用LaravelExcel實現文件導出功能,有著一定的參考價值,現在分享給大家,有需要的朋友可以參考一下

Laravel5中使用Laravel/Excel實現Excel/CSV檔案匯出功能

一、安裝
這裡我安裝的是maatwebsite/excel的2.1.0版本

composer require "maatwebsite/excel:~2.1.0"

安裝後的設定
在config/app .php中註冊服務提供者到providers陣列:

Maatwebsite\Excel\ExcelServiceProvider::class,

同樣在config/app.php中註冊門面到aliases數組:

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

如果想要對Laravel Excel進行更多的自定義配置,執行如下Artisan指令:

php artisan vendor:publish --provider="Maatwebsite\Excel\ExcelServiceProvider"

二、將資料匯出
新增路由

// excel exportRoute::get('/monitor/export','Admin\ExcelController@export')->name('monitor.export');

建立控制器

php artisan make:controller Admin/ExcelController

在控制中加入程式碼

<?php
namespace App\Http\Controllers\Admin;use Illuminate\Http\Request;
use App\Http\Controllers\Controller;use Excel;use App\Models\Monitor;
use App\Exports\CunliangExport;class ExcelController extends Controller
{
    public function export()
    {
        //return Excel::download(new CunliangExport, &#39;invoices.xlsx&#39;);
        $data = Monitor::get()->toArray();        
        return Excel::create(&#39;数据更新&#39;, function($excel) use ($data) {
            $excel->sheet(&#39;数据更新&#39;, function($sheet) use ($data)
            {
                $sheet->cell(&#39;A1&#39;, function($cell) {$cell->setValue(&#39;update_date&#39;);   });                
                $sheet->cell(&#39;B1&#39;, function($cell) {$cell->setValue(&#39;file_type&#39;);   });                
                $sheet->cell(&#39;C1&#39;, function($cell) {$cell->setValue(&#39;file_num&#39;);   });                
                $sheet->cell(&#39;D1&#39;, function($cell) {$cell->setValue(&#39;space_size&#39;);   });                
                $sheet->cell(&#39;E1&#39;, function($cell) {$cell->setValue(&#39;exec_time&#39;);   });                
                $sheet->cell(&#39;F1&#39;, function($cell) {$cell->setValue(&#39;created_at&#39;);   });                
                if (!empty($data)) {                    
                foreach ($data as $key => $value) {                        
                $i= $key+2;                        
                $sheet->cell(&#39;A&#39;.$i, $value[&#39;update_date&#39;]);                        
                $sheet->cell(&#39;B&#39;.$i, $value[&#39;file_type&#39;]);                        
                $sheet->cell(&#39;C&#39;.$i, $value[&#39;file_num&#39;]);                        
                $sheet->cell(&#39;D&#39;.$i, $value[&#39;space_size&#39;]);                        
                $sheet->cell(&#39;E&#39;.$i, $value[&#39;exec_time&#39;]);                        
                $sheet->cell(&#39;F&#39;.$i, $value[&#39;created_at&#39;]);
                    }
                }
            });
        })->download(&#39;xlsx&#39;);
    }
}

在blade模板檔案中加入以下程式碼

.
.
.<p class="box-header">
    <a class="btn btn-success" href="{{route(&#39;monitor.export&#39;)}}">导出</a></p>.
.
.

根據自己需求更改即可。

相關推薦:

Laravel5實作模糊比對功能

Laravel5.5新功能報錯

#

以上是Laravel5中使用LaravelExcel實作檔案匯出功能的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
上一篇:Redis簡單實例下一篇:Redis簡單實例