一、安装配置

使用Composer安装依赖:

composer require maatwebsite/excel

发布配置(可选):

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

配置config/app.php的providers和aliases(可选):

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

二、使用方式

创建导出和导入类:

php artisan make:export UsersExport --model=App\\User
php artisan make:import UsersImport --model=App\\User

(一)数据导出

编写导出类实现相应接口:https://laravel-excel.maatwebsite.nl/3.1/exports/concerns.html

控制器代码:

public function export()
{
return Excel::download(new UsersExport, 'users.xlsx');
}

(二)数据导入

编写导入类实现相应接口:https://laravel-excel.maatwebsite.nl/3.1/imports/concerns.html

控制器代码:

public function import()
{
return Excel::import(new UsersImport, 'users.xlsx');
}

数据导入注意事项:

Excel::import($import, $filePath, $disk = null, $readerType = null)方法注意事项:

①方式一:可以不用将excel文件上传到磁盘,方法第二个参数设置为上传文件对象的实例,例如:

Excel::import(new UsersImport, $request->file('excel'));

②方式二:将excel文件上传到磁盘,第二个参数设置为相对于磁盘的相对路径,第三个参数需设置为磁盘名。如果不设置磁盘名会采用默认磁盘。例如:

  文件地址为:. . ./storage/app/public/excel/user.xlsx (软链接地址为:/public/storage/excel/user.xlsx)==>>$filePath应该设置为:excel\user.xlsx

 Excel::import(new UsersImport, $fileName,'public');

数据导入注意事项:

  ①默认情况下,直接导入数据库会将表格所有数据导入(包括第一行表头),如果不需要第一行数据,应该手动处理,或者导入类实现Maatwebsite\Excel\Concerns\WithHeadingRow接口来把第一行作为标题行。

  ②使用模型进行添加数据不要忘了给模型设置$fillable或$guarded属性。

三、参考文档:

依赖库地址:https://packagist.org/packages/maatwebsite/excel

官方文档:https://laravel-excel.maatwebsite.nl/

最新文章

  1. 【转载】8天学通MongoDB——第八天 驱动实践
  2. django自动化部署脚本
  3. jQuery学习之jQuery Ajax用法详解
  4. Nginx+CI出现404错误
  5. 趣味问题:画图(c++实现)
  6. log4j加载方式导致的bae和sae部署异常
  7. Linux 高级网络编程
  8. URAL1118. Nontrivial Numbers
  9. html5写的一个时钟
  10. 打开U盘里是U盘的快捷方式?(2013.12.05)
  11. jquery中的on事件
  12. Struts2 之值栈
  13. Python开发【内置函数篇】re正则表达式
  14. 在Winform开发框架中下拉列表绑定字典以及使用缓存提高界面显示速度
  15. java消息服务学习之JMS概念
  16. Axis2部署后服务器端出现异常信息
  17. 【PAT】B1080 MOOC期终成绩(25 分)
  18. Kafka使用log.retention.hours改变消息端的消息保存时间
  19. TCxGrid 把列移上移下。
  20. RAD Studio 2010~XE8 官方 ISO 下载地址 (2015-03-28更新)

热门文章

  1. javaScript的三种储存方式
  2. Xor_Sum 题解
  3. P3295 萌萌哒 题解
  4. Mister B and PR Shifts,题解
  5. 11.unity3d 摄像机快速定位到Scene视角
  6. UDP/TCP 流程与总结
  7. 数据分析05 /pandas的高级操作
  8. Django框架07 /cookie和session
  9. DirectX11 With Windows SDK--33 曲面细分阶段(Tessellation)
  10. 简易防止U盘中毒