Laravel - excel 导入数据

在Laravel中,可以使用maatwebsite/excel这个库来处理Excel文件的导入。

1.用命令行窗口打开项目根目录,使用 Composer 安装 maatwebsite/excel

composer require maatwebsite/excel --ignore-platform-reqs

在你的config/app.php文件中注册服务提供者(可选)

'providers' => [// ...Maatwebsite\Excel\ExcelServiceProvider::class,
],

注册门面(Facade)(可选)

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

 

2. 使用php artisan make:import命令创建一个新的导入类

php artisan make:import UsersImport --model=User

这将会生成一个新的Import类UsersImport,并且已经引入了你需要的User模型。

在生成的UsersImport类中,你需要定义collection方法来处理导入的数据集合,以及model方法来处理单个模型的导入。这里是一个简单的例子:

// app/Imports/UsersImport.phpnamespace App\Imports;use App\Models\User;
use Maatwebsite\Excel\Concerns\ToModel;
use Maatwebsite\Excel\Concerns\Importable;class UsersImport implements ToModel
{use Importable;public function model(array $row){return new User(['name'     => $row[0],'email'    => $row[1],'password' => \Hash::make($row[2]),]);}
}

 3.在控制器中,添加一个方法来处理文件上传,并且调用导入。

// app/Http/Controllers/UserController.phpnamespace App\Http\Controllers;use App\Imports\UsersImport;
use Illuminate\Http\Request;class UserController extends Controller
{public function import(Request $request){$request->validate(['file' => 'required|file|mimes:xls,xlsx']);$file = $request->file('file');$import = new UsersImport();$import->import($file);return "Users imported successfully.";}
}

 4.定义路由

// routes/web.phpuse App\Http\Controllers\UserController;Route::post('/users/import', [UserController::class, 'import'])->name('users.import');

5.确保表单有enctype="multipart/form-data"属性,以便正确上传文件。

<form action="{{ route('users.import') }}" method="POST" enctype="multipart/form-data">@csrf<input type="file" name="file"><button type="submit">Import</button>
</form>

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/31483.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java八股文系列之六(Spring)

前沿 spring是java开发日常使用最多的框架&#xff0c;理解并应用好spring是基础核心能力。第一版略显粗糙&#xff0c;持续更新中。 1.什么是Spring循环依赖。 Spring循环依赖指的是两个或多个Bean之间相互依赖&#xff0c;形成一个环状依赖的情况。简单来说&#xff0c;就…

何在 Vue3 中使用 Cytoscape 创建交互式网络图

本文由ScriptEcho平台提供技术支持 项目地址&#xff1a;传送门 Vue.js 中加载 Cytoscape.js 的技术实现 应用场景 Cytoscape.js 是一个用于创建交互式网络的可视化库。在生物信息学、社会网络分析和药物发现等领域中得到了广泛应用。 基本功能 本代码片段演示了如何在 V…

二叉树的这五种遍历方法你们都会了吗?

说在前面 &#x1f388;二叉树大家应该都很熟了吧&#xff0c;那二叉树的这五种遍历方式你们都会了吗&#xff1f; 以这一二叉树为例子&#xff0c;我们来看看不同遍历方式返回的结果都是怎样的。 前序遍历 前序遍历的顺序是&#xff1a;首先访问根节点&#xff0c;然后递归地…

linux驱动资源没有及时释放排查

linux驱动资源没有及时释放排查 之前项目过程有遇到一个问题&#xff0c;明明应用已经close fd了&#xff0c;但是再次open设备的时候会出现“device is busy”的情况。刚开始出现这个问题的时候&#xff0c;还以为是应用没有及时的close fd导致的异常&#xff0c;同时排查了内…

Java的JDBC与Druid数据连接池笔记

第一章 JDBC 1.1 JDBC简介 1.1.1 JDBC概念 JDBC就是使用Java语言操作关系型数据库的一套API 全称(Java DataBase Connectivity)Java数据库连接 1.1.2 JDBC本质 官方(sun公司)定义的一套操作所有关系型数据库的规则,即接口 各个数据库厂商去实现这套接口,提供数据库…

使用 jQuery 选择器获取页面元素,然后利用 jQuery 对象的 css() 方法设置其 display 样式属性,从而实现显示和隐藏效果。

在页面中显示电影排行榜 当单击“&#xff08;收起&#xff09;”链接时&#xff0c;排行榜中后三项的电影名称隐藏而且链接的文本更改为“&#xff08;展开&#xff09; ” 当单击“&#xff08;展开&#xff09;”的链接时&#xff0c;后三项的电影名称重新显示且链接的文本…

视频剪辑技巧大揭秘:轻松掌握为视频添加梦幻光晕效果的绝妙方法!

在这个视觉盛宴的时代&#xff0c;每一个画面都渴望被赋予独特的魅力与魔法。今天&#xff0c;我要为你揭秘一个神秘的视频剪辑技巧——给视频添加光晕效果&#xff0c;让你的作品瞬间脱颖而出&#xff0c;成为朋友圈的焦点 首先&#xff0c;你可以打开原视频进行查看。此时&am…

QT自定义标题栏窗口其一:实现拖动及可拉伸效果

1、效果 2、核心代码 #include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(paren

【字节序】

1. 字节序&#xff08;Endianness&#xff09;问题 不同计算机体系结构可能采用不同的字节序来存储多字节数据。字节序有两种主要形式&#xff1a; 大端序&#xff08;Big-endian&#xff09;&#xff1a;高位字节存储在低地址。 小端序&#xff08;Little-endian&#xff09…

高速公路声光预警定向广播助力安全出行

近年来&#xff0c;高速重大交通事故屡见不鲜&#xff0c;安全管控一直是高速运营的重中之重。如何利用现代化技术和信息化手段&#xff0c;创新、智能、高效的压降交通事故的发生概率&#xff0c;优化交通安全管控质量&#xff0c;是近年来交管部门的主要工作&#xff0c;也是…

unity UGUI画线(Image方式)

/// <summary>/// 画线/// 注意&#xff1a;startPoint和endPoint&#xff0c;须和lineTransform在同一路径层级下的位置关系&#xff01;&#xff01;&#xff01;/// </summary>/// <param name"self"></param>/// <param name"li…

Asp.net core Authoriation Middleware实现权限控制的例子

ASP.NET Core Authorization Middleware 是 ASP.NET Core 框架中用于处理授权的中间件组件。它允许开发者在应用程序中实现细粒度的访问控制&#xff0c;确保只有合适的用户才能访问特定的资源或执行特定的操作。 核心概念 策略&#xff08;Policies&#xff09;&#xff1a;策…

解决不能拉取 docker 镜像

# 编辑镜像仓库文件 sudo vi /etc/docker/daemon.json { "registry-mirrors": ["https://registry.docker-cn.com","https://s3d6l2fh.mirror.aliyuncs.com"] }# 重启docker sudo systemctl restart docker参考 https://blog.csdn.net/u01019733…

timescaledb:单机基于postgresql-15安装timescaledb

配置yum sudo yum install https://download.postgresql.org/pub/repos/yum/reporpms/F-$(rpm -E %{fedora})-x86_64/pgdg-fedora-repo-latest.noarch.rpm配置yum源 sudo tee /etc/yum.repos.d/timescale_timescaledb.repo <<EOL [timescale_timescaledb] nametimescal…

将强化学习重新引入 RLHF

我们很高兴在 TRL 中介绍 RLOO (REINFORCE Leave One-Out) 训练器。作为一种替代 PPO 的方法&#xff0c;RLOO 是一种新的在线 RLHF 训练算法&#xff0c;旨在使其更易于访问和实施。特别是&#xff0c; RLOO 需要的 GPU 内存更少&#xff0c;并且达到收敛所需的挂钟时间也更短…

前端Vue实现萤石云播放视频

下载依赖 npm install ezuikit-js --save 完整代码 <template><div class"home"><div id"video-container"></div></div> </template> <script> import EZUIKit from "ezuikit-js";export default…

ICAS英格尔引领企业绿色转型之路:深度解析ISO14064温室气体核查与审定服务

在全球范围内&#xff0c;气候变化正迅速成为影响企业战略决策、运营效率及长期可持续发展的关键因素。ICAS英格尔作为全球领先的认证机构&#xff0c;致力于通过ISO14064温室气体核查与审定服务&#xff0c;帮助企业应对这一挑战&#xff0c;实现绿色转型&#xff0c;提升环境…

前端模糊搜索关键字高亮

效果 代码 <template><view class"flexStart new-box"><view class"company"><!-- 输入框样式 --><view class"spaceBetween companyName" click.stop"isCompany true"><input type"text&quo…

如果已经登录,输入白名单路由想访问白名单页面被重定向其他页面

如果用户已经登录&#xff0c;但尝试访问白名单页面时被重定向到了其他页面&#xff0c;这可能是由于路由守卫的逻辑设置不正确。以下是一些可能的原因和解决方案&#xff1a; 可能的原因&#xff1a; 路由守卫逻辑错误&#xff1a;路由守卫可能错误地将已登录用户重定向到登…

C盘满了怎么清理?一招让你远离C盘空间不足的烦恼

C盘满了怎么清理&#xff1f;一招让你远离C盘空间不足的烦恼&#xff0c;当C盘空间满了时&#xff0c;会给我们来一系列烦恼和潜在问题。比如&#xff1a;系统运行缓慢、程序崩溃或无法安装、启动时间变长、系统不稳定、文件管理困难、游戏卡顿、电脑卡顿、系统故障等问题&…