ホームページ  >  記事  >  バックエンド開発  >  LaravelExcelを使ってLaravel5にファイルエクスポート機能を実装する

LaravelExcelを使ってLaravel5にファイルエクスポート機能を実装する

不言
不言オリジナル
2018-05-08 10:51:524938ブラウズ

この記事では主にLaravel5のファイルエクスポート機能を実装するためのLaravelExcelの使い方を紹介します。 Laravel5のファイルエクスポート機能

1.インストール

ここではmaatwebsite/excelのバージョン2.1.0をインストールしました

composer require "maatwebsite/excel:~2.1.0"

インストール後の設定

config/app.php:

Maatwebsite\Excel\ExcelServiceProvider::class,
のproviders配列にサービスプロバイダを登録します
configにもあります/ ファサードを app.php のエイリアス配列に登録します:

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

Laravel Excel のカスタム構成をさらに構成したい場合は、次のアーティザン コマンドを実行します:

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

2. データをエクスポートする

ルーティングを追加する

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

ブレードテンプレートファイルに次のコードを追加します

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

必要に応じて変更できます。

関連する推奨事項:


Laravel5はファジーマッチング機能を実装

Laravel5.5の新機能エラーレポート

以上がLaravelExcelを使ってLaravel5にファイルエクスポート機能を実装するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
前の記事:Redis の簡単な例次の記事:Redis の簡単な例