一:安装

1、要求:

2、安装命令:

使用Composer安装依赖
composer require maatwebsite/excel使用Composer安装依赖 指定版本
composer require maatwebsite/excel=~3.1

3、配置修改:

将 ServiceProvider 添加到config/app.php 中注册服务提供者到 providers 数组:

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

在 config/app.php 中 aliases 数组添加 Facade:

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

如果想要进行更多的自定义配置,执行如下Artisan命令:

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

执行成功后会在 config 目录下生成一个配置文件 excel.php

到这里,安装就完成了

二:导入

1、创建一个导入类,可以使用make:import命令来执行此操作。

php artisan make:import ImportTest --model=TestImport

名称、模型自行定义,我使用的是导入 Eloquent 模型ToModel,我的一些代码参考

<?phpnamespace App\Import;use Maatwebsite\Excel\Concerns\ToModel;
use App\Models\TestImport;
use Maatwebsite\Excel\Concerns\Importable;
use Maatwebsite\Excel\Concerns\SkipsOnFailure;
use Maatwebsite\Excel\Concerns\WithValidation;
use Maatwebsite\Excel\Concerns\SkipsFailures;class ImportTest implements ToModel, WithValidation, SkipsOnFailure
{use Importable, SkipsFailures;/*** @author cjg*/public function model(array $row){//判断标题不插入if ($row[0] == '手机号') {return null;}//下面为插入数据库,数据表自行创建,字段自行定义return new TestImport(['phone' => $row[0],'remarks' => $row[1],]);}/*** @author cjg* rules()方法期望返回一个带有 Laravel 验证规则的数组。*/public function rules(): array{return [// Can also use callback validation rules '0' => function($attribute, $value, $onFailure) {if ($value != '手机号') {if (!$value || !preg_match("/^(13[0-9]|14[5|7]|15[0|1|2|3|4|5|6|7|8|9]|18[0|1|2|3|5|6|7|8|9])\d{8}$/", $value)) {$onFailure('手机号错误');}}},'1' => function($attribute, $value, $onFailure) {if ($value != '备注' && !$value) {$onFailure('备注不能为空');}},];}}

xlsx数据截图

2、导入控制器代码

    /*** 导入代码* @author cjg*/public function test_import(Request $request){$file = $request->file('file');if(substr(strtolower(PHP_OS), 0, 3) == 'win') {//获取文件临时目录 windows环境$realpath = $file->getRealPath();} else {//获取文件临时目录 linux环境$realpath = storage_path('app') . '/' . $file->store('temp');}// 获取文件名,此方法包括后缀// $filename = $file->getClientOriginalName();// 将缓存在tmp目录下的文件移到某个位置,返回的是这个文件移动过后的路径// $path=$file->move(文件移到哪个文件夹下的路径, 将上传的文件重新命名的文件名);// 获取上传的文件缓存在tmp文件夹下的绝对路径// $realpath=$file->getRealPath();$import = new ImportTest();$import->import($realpath);if ($import->failures()) {//每个失败都是一个实例Maatwebsite\Excel\Validators\Failure。Failure保存有关该单元格的哪一行、哪一列以及验证错误的信息。foreach ($import->failures() as $failure) {// 出问题的那一行$failure->row();//标题键(如果使用标题行)或列索引$failure->attribute();//来自Laravel验证程序的实际错误消息$failure->errors();//失败行的值。$failure->values();}}}

3、路由记得加上,用post方法

导入就这么简单,更多详情可以参考官方文档

官方文档:Introduction | Laravel ExcelSupercharged Excel exports and imports in Laravelhttps://docs.laravel-excel.com/3.1/getting-started/

Laravel Excel(maatwebsite/excel )导入相关推荐

  1. laravel 框架maatwebsite/excel拓展导出excel增加sheets分页功能

    laravel的maatwebsite/excel是一个功能很强大的插件,但是文档相对简单了点 怎么引入插件就不写了,composer地址:maatwebsite/excel - Packagist ...

  2. laravel中maatwebsite/excel的load不可以用的解决办法

    今天项目需要提取excel的内容,composer require maatwebsite/excel: 下边开始代码部分 public function readFile(\Maatwebsite\ ...

  3. Laravel Excel实现Excel/CSV文件导入导出的功能详解(合并单元格,设置单元格样式)

    Laravel Excel实现Excel/CSV文件导入导出(合并单元格,设置单元格样式) 这篇文章主要给大家介绍了关于在Laravel中如何使用Laravel Excel实现Excel/CSV文件导 ...

  4. php laravel导入excel,Laravel- 后台批量导入 Excel

    最近做的一个H5网站 有一个后台批量录入信息列表的功能,上网搜索了一下,发现了maatwebsite/excel 依赖,在此说明一下具体的实现流程. 1.安装 值得一提的是本人使用的是laravel ...

  5. 【Laravel】使用 Laravel Excel 实现 Excel/CSV 文件导入导出功能

    一.安装配置 使用Composer安装依赖: composer require maatwebsite/excel 发布配置(可选): php artisan vendor:publish --pro ...

  6. laravel5 Excel Excel/CSV 文件导入导出功能

    在 Laravel 5 中使用 Laravel Excel 实现 Excel/CSV 文件导入导出功能 Posted on 2015年11月17日 by  学院君   注意版本2.1 1.简介 Lar ...

  7. Maatwebsite/excel的简单使用

    Laravel Excel 官网地址 安装 要求 安装前必须确认以下要求 PHP: ^ 7.2|^8.0 Composer: ^2.* Laravel: ^5.8 PhpSpreadsheet: ^1 ...

  8. php laravel导入excel,Laravel 5使用Laravel Excel实现Excel/CSV文件导入导出的功能详解

    @H_404_0@ 1.简介 @H_404_0@本文主要给大家介绍了关于Laravel 5用Laravel Excel实现Excel/CSV文件导入导出的相关内容,下面话不多说了,来一起看看详细的介绍 ...

  9. laravel-excel maatwebsite excel 导入的中文文档

    项目里需要导入了,正好 3.1 版本,也支持导入了,补充下 excel 导入的翻译文档.(工作比较忙,大概过了一遍,可能有不少错误的地方)1.5分钟快速入门在 app/Import 创建一个导入类ph ...

最新文章

  1. ueditor1.4.3配置过程(包含单独上传文件以及图片的使用)
  2. oracle怎么判断主库还是备库,Oracle查看归档是否被备库应用
  3. 基于redhat linux虚拟服务器的web负载均衡集群(piranha+LVS)
  4. 【C++】智能指针 Smart Pointer
  5. Spicy Spring:动态创建自己的BeanDefinition
  6. 第一次Sprint总结
  7. iOS学习之NSBundle介绍和使用
  8. 资料下载丨“十四五”数据库发展趋势与挑战-CCF数据库专委会
  9. react字符串转html函数,react 字符串强转为html标签
  10. LeetCode 3 Longest Substring Without Repeating Characters 区间,想法 难度:1
  11. leetcode python3 简单题225. Implement Stack using Queues
  12. 点分十进制表示的字符串转换为 unsigned int 整型数值
  13. 计算机常见软件故障及处理,计算机常见软件故障处理
  14. C语言(B站比特鹏哥)笔记
  15. html设计打地鼠游戏,js实现打地鼠小游戏
  16. 2021年茶艺师(中级)考试试卷及茶艺师(中级)模拟试题
  17. Hyper-V的使用技巧及管理方法
  18. win7下ACE+TAO环境搭建
  19. stm32F4安装包MDK5
  20. 常德职业技术学院2018级新生军政训练总结表彰大会隆重召开

热门文章

  1. ipp协议 服务器,IPP远程服务
  2. 快排 找第k大的数字
  3. 软件测试工程师是这么写年终报告的
  4. 「跑象科技」获得天使+融资,打造新一代实时数据基础平台
  5. Spring AOP源码(1)—<aop:config/>AOP配置标签解析【一万字】
  6. linux之awk基础
  7. Bulma的简单使用
  8. python学习笔记十-文件操作
  9. 对话模型,DialogBERT和DialogWAE优势何在?
  10. Origin 2017调整画布和图表的尺寸大小