Heim  >  Artikel  >  Backend-Entwicklung  >  Verwendung von LaravelExcel zur Implementierung der Dateiexportfunktion in Laravel5

Verwendung von LaravelExcel zur Implementierung der Dateiexportfunktion in Laravel5

不言
不言Original
2018-05-08 10:51:524938Durchsuche

In diesem Artikel wird hauptsächlich die Dateiexportfunktion mit LaravelExcel in Laravel5 vorgestellt. Jetzt kann ich sie mit allen teilen, die sie benötigen.

Verwenden Sie Laravel/Excel in Laravel5 it. Excel/CSV-Dateiexportfunktion

1. Installation
Hier habe ich Version 2.1.0 von maatwebsite/excel installiert

composer require "maatwebsite/excel:~2.1.0"

Einstellungen nach der Installation
In config/app registrieren Dienstanbieter in .php zum Provider-Array:

Maatwebsite\Excel\ExcelServiceProvider::class,

Registrieren Sie auch die Fassade im Aliases-Array in config/app.php:

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

Wenn Sie Laravel Excel weiter anpassen möchten, definieren Sie die Konfiguration und führen Sie den folgenden Artisan-Befehl aus:

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

2. Exportieren Sie die Daten
Routing hinzufügen

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

Erstellen Sie einen Controller

php artisan make:controller Admin/ExcelController

Fügen Sie etwas Code in die Steuerung ein

<?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;);
    }
}

Fügen Sie den folgenden Code in die Blade-Vorlagendatei ein

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

Ändern Sie ihn einfach entsprechend Ihren Anforderungen.

Verwandte Empfehlungen:

Laravel5 implementiert die Fuzzy-Matching-Funktion

Laravel5.5 neue Funktionsfehlerberichterstattung

Das obige ist der detaillierte Inhalt vonVerwendung von LaravelExcel zur Implementierung der Dateiexportfunktion in Laravel5. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:Redis einfaches BeispielNächster Artikel:Redis einfaches Beispiel