zoukankan      html  css  js  c++  java
  • 使用 LaravelExcel 进行 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); })
  • 相关阅读:
    我的图片爬虫demo
    修改django后台用户名和密码
    mybatis知识点(已掌握)
    python3与python2的区别(目前遇到的)
    Linux 日常命令
    手机号码归属地查询api接口
    Install-Package EntityFramework -version 5.0.0.0
    【迁移】—Entity Framework实例详解
    Android Http请求方法汇总
    Android数据存储的5种方法
  • 原文地址:https://www.cnblogs.com/lxwphp/p/15454163.html
Copyright © 2011-2022 走看看