使用 Laravel-Excel 进行 CSV/EXCEL 文件读写

使用 Laravel-Excel 进行 CSV/EXCEL 文件读写

https://blog.csdn.net/yiluohan0307/article/details/80229978

http://www.ptbird.cn/laravel-excel-csv.html

一、需求

项目需要从 csv 中导入数据并且写入到数据表中。

因为使用 Laravel 框架,因此就直接用了 Laravel-Excel 进行数据的读写操作。

网上关于 Laravel-Excel 的使用方法有很多,比较推荐的是在 laravel学院上的一篇:

Laravel-Excel 文档地址:

注意事项:

目前 Laravel-Excel 已经到了 3.0 版本,不再基于 PHPExcel,而是使用 PhpSpreadsheet

但是现在 3.0 版本不能 import ,只能 export ,所以如果想要导入 excel/csv 只能使用 2.0 版本。

import 功能将在 3.1 版本加入(应该是能够等到的,我写文章的时候,9 days ago 作者还在 push 代码:https://github.com/Maatwebsite/Laravel-Excel/)。

TIM截图20180416130424.jpg

二、安装配置 laravel-excel

我使用的是 laravel 5.6 版本:(laravel-excel 3.0 只能是 ^5.5 版本),安装的是 ~2.1.0

Laravel 4 版本应当安装:~1.3

1. 安装

composer require maatwebsite/excel ~2.1.0

2. 配置 config/app.php

providers 数组中添加:

Maatwebsite\Excel\ExcelServiceProvider::class,

aliases 数组中添加:

'Excel' => Maatwebsite\Excel\Facades\Excel::class,

3. 导出 Excel.php 配置文件

php artisan vendor:publish

这里可能会需要选择某个 tag 进行导出,根据需要输入要导出的配置文件的 tag 即可

三、导入 Excel

因为是使用的文件上传功能,因此将文件存储也加上去了。

因为 $path 得到的文件地址没有 storage/app/ ,因此需要加上。

这里需要注意的是,laravel-excel 的 load 使用的 path 参数,是本地文件的目录,因此只需要给出本地文件目录地址即可,与 web 目录无关。

// 文件上传到了 storage/app/patient/xxxxx.txt $path = $request->file('file')->store('patient'); // dd($path); // $path = "patient/47QhWPGzUgBCLZewclupIWxwfwIQdeDdlyx4DA84.txt"; // 更新文件本地地址 $path = 'storage/app/' . $path; // 获取 csv 内容 $data = Excel::load($path, function ($reader) {
                                            }, 'GBK')->get(); dd($data);

关键的方法:

$data = Excel::load($path, function ($reader) {
                 }, 'GBK')->get();

我是使用的 get() 方法来获取数据,除此之外,也可以在回调函数中获取,但是没办法回调什么的

Excel::load($path,function($reader){ $data = $reader->all(); dd($data); })
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/113100.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 单片机c语言毕业设计,单片机毕业设计的总结.docx

    单片机c语言毕业设计,单片机毕业设计的总结.docx单片机毕业设计的总结单片机毕业设计总结篇一:单片机课程设计总结报告参考模板  湖州师范学院求真学院  课程设计总结报告  课程名称单片机应用系统设计  设计题目基于STC89C51的数字电子钟设计  专业电子科学与技术  班级  姓名张静  学号12  指导教师李祖欣吴小红  报告成绩  求真学院信息与工程系  二〇一一年六月一日  《单片机应用…

    2022年10月3日
    0
  • 获取MySQL配置文件路径

    获取MySQL配置文件路径在实际工作中,MySQL可能会涉及多个配置文件,但是因为各种原因我们无法找到它们的路,那么我们可以通过以下命令可以找到:首先找到mysqld的路径:$whichmysqld/usr/sbin/mysqld通过mysqld找到所有配置文件的路径:$/usr/sbin/mysqld–verbose–help|grep-A1’Defaultoptions’Defaultopt

    2022年5月18日
    48
  • 文件读写api函数是什么_c语言文件的读和写

    文件读写api函数是什么_c语言文件的读和写文件操作API函数详解在VC中,大多数情况对文件的操作都使用系统提供的API函数,但有的函数我们不是很熟悉,以下提供一些文件操作API函数介绍:一般文件操作APICreateFile打开文件要对文件进行读写等操作,首先必须获得文件句柄,通过该函数可以获得文件句柄,该函数是通向文件世界的大门。ReadFile从文件中读取字节信息。在打开文件获得了文件句柄之后,则

    2025年7月22日
    5
  • MIUI刷Android原生,小米手机怎么刷安卓原生系统

    MIUI刷Android原生,小米手机怎么刷安卓原生系统小米手机自带的系统很好,但是很多人还是希望用安卓的原生系统,小米手机是支持刷机成为安卓原生系统的。那么小米手机怎么刷安卓原生系统呢?今天学习啦小编与大家分享下小米手机刷安卓原生系统的具体操作步骤,有需要的朋友不妨了解下。小米手机刷安卓原生系统方法下载工具包和线刷完整包,下载完成后解压,刷机工具点击下载MIUI最新版线刷Fastboot开发版完整包点击下载。(请检查文件后缀名是否为”.tgz”,如…

    2022年6月19日
    120
  • 《海量数据库解决方式》读后感

    《海量数据库解决方式》读后感

    2021年12月1日
    41
  • PHP中对PSR-1、PSR-2规范理解

    PHP中对PSR-1、PSR-2规范理解

    2021年5月25日
    112

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号