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,一经查实,立即删除!

相关文章

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

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

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

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

使用 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

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

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

将强化学习重新引入 RLHF

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

前端模糊搜索关键字高亮

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

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

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

Linux使用Docker部署mysql5.7

一、拉取镜像 docker pull mysql:5.7 二、查看镜像 docker images 三、创建容器 这里稍微解释下 -p参数是端口映射 -v参数是数据卷挂载 数据卷挂载是Docker中的一种功能&#xff0c;它允许将主机上的目录或文件系统与容器内的目录绑定&#xff0c;实现数据的持久化存储…

短剧片源授权,类目丰富优惠多,抢先一步更新你的短剧系统片库!

前言 如今的短剧作为一种新兴的视听艺术形式&#xff0c;正以其独特的魅力迅速占领市场高地。为了满足广大短剧爱好者和从业者的需求&#xff0c;我们提供短剧片源授权服务&#xff0c;凭借剧场独家提供的丰富片源&#xff0c;助力您轻松更新短剧系统片库&#xff0c;抢占市场…

MySQL小版本升级(8.0.36->8.0.37)

关于MySQL升级的话MySQL官方文档上面介绍了2个方法&#xff0c;’就地升级’和‘逻辑升级’。’就地升级‘就是升级底层的RPM包而‘逻辑升级’就是将旧MySQL数据库上的信息迁移到新MySQL数据库上。 本篇文章介绍到的是RPM包升级 升级MySQL版本的典型步骤包括&#xff1a; 备份&…

算法篇-排序

快排 算法思想&#xff1a;每次找一个基数&#xff0c;然后对数组左右遍历&#xff0c;将小于基数的数据放到左边&#xff0c;大于基数的数放到右边&#xff0c;然后将基数左边&#xff0c;右边进行迭代再排序。 public static void quickSort(int[] nums, int left, int ri…

SCIE与SCI期刊的区别

在学术出版领域&#xff0c;SCI&#xff08;Science Citation Index&#xff09;和SCIE&#xff08;Science Citation Index Expanded&#xff09;是两个关键的索引数据库&#xff0c;它们对科研人员在选择发表论文的期刊时起着至关重要的作用。虽然这两个术语经常被交替使用&a…

Python100题(含答案)

温馨提示&#xff1a;篇幅有限&#xff0c;已打包文件夹&#xff0c;获取方式在&#xff1a;文末 温馨提示&#xff1a;篇幅有限&#xff0c;已打包文件夹&#xff0c;获取方式在&#xff1a;文末 篇幅有限&#xff0c;这份完整版的Python100题已经上传&#xff0c;朋友们如果…

easyx之图形库复习--自制写轮眼的图形绘制

引子效果图如下&#xff1a; 什么是easyx&#xff1f; EasyX 是针对 C/C 的图形库&#xff0c;可以帮助使用C/C语言的程序员快速上手图形和游戏编程。比如&#xff0c;可以用 VC EasyX 很快的用几何图形画一个房子&#xff0c;或者一辆移动的小车&#xff0c;可以编写俄罗斯方…

AI PPT生成器,一键在线智能生成PPT工具

PPT作为商业沟通和教育培训中的重要工具&#xff0c;PPT制作对于我们来说并不陌生。但是传统的PPT制作不仅耗时&#xff0c;而且想要做出精美的PPT&#xff0c;需要具备一定的设计技能。下面小编就来和大家分享几款AI PPT工具&#xff0c;只要输入主题&#xff0c;内容就可以在…

1台SW工作站5人同时使用能实现吗

在当今的数字化时代&#xff0c;高效的工作方式和技术创新是企业竞争力的重要组成部分。SolidWorks作为一款功能强大的三维设计软件&#xff0c;广泛应用于机械、电子、建筑等多个领域。然而&#xff0c;随着企业规模的扩大和团队人数的增加&#xff0c;如何充分利用有限的资源…

关于undo的问题

以下都查看下 undo保留时间&#xff1a; show parameter undo; 查UNDO段状态及自动调整的保留时间命令&#xff1a; select BEGIN_TIME,END_TIME,MAXQUERYLEN,MAXQUERYSQLID,TUNED_UNDORETENTIONfrom V$UNDOSTAT Order By begin_time Desc; 查UNDO段EXPIRED等使用情况&#…

大模型网信办备案全网最详细流程【附附件】

本文要点&#xff1a;大模型备案最详细说明&#xff0c;大模型备案条件有哪些&#xff0c;《算法安全自评估报告》模板&#xff0c;大模型算法备案&#xff0c;大模型上线备案&#xff0c;生成式人工智能(大语言模型)安全评估要点&#xff0c;网信办大模型备案。 大模型备案安…