Laravel7 安装使用maatwebsite/excel 3

1.安装maatwebsite/excel

我这里是laravel7的最后一个版本v7.30.1,截至本文章发布,maatwebsite/excel的最新版本为3.1.26,所以我这里并没有指定版本。

composer require maatwebsite/excel

如果要指定版本,也可以执行如下命令安装

composer require maatwebsite/excel ~3.1

Maatwebsite\Excel\ExcelServiceProvider默认会自动发现和注册。
如果你想自己注册它,可以在config/app.php中添加ServiceProvider:

'providers' => [
    /*
     * Package Service Providers...
     */
    Maatwebsite\Excel\ExcelServiceProvider::class,
]

Excel facade也是自动发现的。
如果你想手动添加它,可以在config/app.php中添加Facade:

'aliases' => [
    ...
    'Excel' => Maatwebsite\Excel\Facades\Excel::class,
]

要发布配置,使用vendor publish命令执行注册:

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

如果成功,这将创建一个名为config/excel.php的新配置文件。

2.表格导出

app/Exports中创建一个导出类
你可以使用make:export命令来做这件事。

php artisan make:export UsersExport --model=User

如果执行成功,可以在app/Exports中找到该文件UsersExport.php
当然,如果你喜欢手动创建,你可以在app/Exports中创建以下内容:

我们在控制器中,现在可以调用这个export,我这里是UsersController控制器,你也可以创建其它控制器都可以。
目前我测试的可以正常到处csv、xls、xlsx等,只需要将users.xlsx,改成对应的csv、xls、xlsx后缀名即可。
按官方代码中来说,支持(xlsx、xlsm、 xltx、 xltm、 xls、xlt、ods、ots、slk、xml、gnumeric、htm、html、csv、tsv、pdf),具体有兴趣可以自己测试。

最后添加一个可以访问导出的路由:

Route::get('users/export/', 'UsersController@export');

3.表格导入

app/Imports中创建一个导入类
你可以使用make:import命令来做这件事。

php artisan make:import UsersImport --model=User

如果执行成功,可以在app/Imports中找到该文件UsersImport.php:
当然,如果你喜欢手动创建,你可以在app/Imports中创建以下内容:

 $row[0],
           'email'    => $row[1], 
           'password' => Hash::make($row[2]),
        ]);
    }
}

我这里是UsersController控制器,你也可以创建其它控制器都可以:

use App\Imports\UsersImport;
use Maatwebsite\Excel\Facades\Excel;
use App\Http\Controllers\Controller;

class UsersController extends Controller 
{
    public function import() 
    {
        Excel::import(new UsersImport, 'users.xlsx');
        
        return redirect('/')->with('success', 'All good!');
    }
}

最后,同样添加一个可以访问导入的路由。注意:这里是导入的用户表,测试的时候要注册导入数据要符合字段类型和长度。具体的users表导入字段可以查看app\User.php

Route::get('users/import/', 'UsersController@import');

好了,现在可以愉快的开始玩耍啦。更多的玩法可以参考官方文档:
https://docs.laravel-excel.com/3.1/getting-started/

你可能感兴趣的:(Laravel7 安装使用maatwebsite/excel 3)