Laravel7|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.表格导出
【Laravel7|Laravel7 安装使用maatwebsite/excel 3】在
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/
推荐阅读
- 由浅入深理解AOP
- Mac安装Chromedriver
- 【译】20个更有效地使用谷歌搜索的技巧
- mybatisplus如何在xml的连表查询中使用queryWrapper
- MybatisPlus|MybatisPlus LambdaQueryWrapper使用int默认值的坑及解决
- MybatisPlus使用queryWrapper如何实现复杂查询
- MongoDB,Wondows下免安装版|MongoDB,Wondows下免安装版 (简化版操作)
- MAC安装Mongo
- iOS中的Block
- Linux下面如何查看tomcat已经使用多少线程