Laravel6.x及以上版本使用laravel-excel3.x之导入

官方手册:🚀 5 minute quick start | Laravel Excel

借鉴:Laravel Excel 3.1 使用方法 Excel 导入操作_Do_Only的博客-CSDN博客_excel::toarray

 第一步:安装

composer require maatwebsite/excel

第二步:创建自定义导入文件

该命令app/Exports目录下生成对应的文件

php artisan make:import DaoruImport

第三步:修改自定义导入文件

生成后的文件内容(这是我根据自己的需求改成的数组)

<?php

namespace App\Imports;

use App\Models\Article;
use Illuminate\Support\Collection;
use Maatwebsite\Excel\Concerns\ToArray;
use Maatwebsite\Excel\Concerns\ToCollection;
use Maatwebsite\Excel\Concerns\ToModel;

class DaoruImport implements ToArray
{
    /**
     * @param array $row
     *
     * @return Article|null
     */
    public function Array(Array $tables)
    {
//        dump('333');die;
        return $tables;
    }
}

第四步:定义路由与方法

路由

Route::get('import','TestController@import');

控制器

    /**
     * 导入Excel
     * @return void
     */
    public function daoru(Request $request)
    {
        $data = Excel::toArray(new DaoruImport, request()->file('file'));
//        dd($data);
        // 加工数据$data;
        if(!empty($data)) {
            $arr = $data[0];
            unset($arr[0]);
            foreach($arr as $rows) {
                $insert = [
                    'username' => $rows[0],
                    'mobile' => $rows[1],
                ];
                DB::table('users')->insert($insert);
            }
            return Response::json(['code'=>1,'msg'=>'导入成功']);
        }

    }

细节:如果你写完你的程序后,请一定多测试几个列如:user.xls文件,本人的心酸历程就不分享了,总之,就是多测试测试导入的Excel文件是否能用

我是星星,学习不打烊。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
要在Laravel中实现批量导入Excel,可以使用Laravel-Excel这个包装器。它是一个简单而优雅的Laravel包装器,围绕PhpSpreadsheet(一个流行的PHP库)进行导入和导出。 首先,确保已经安装了Laravel-Excel包。然后,您可以按照以下步骤进行批量导入Excel: 1. 创建一个控制器来处理Excel导入的逻辑。 2. 在控制器中使用`use Maatwebsite\Excel\Facades\Excel`引入Excel门面。 3. 创建一个导入类,继承`Maatwebsite\Excel\Concerns\ToCollection`接口,并实现`collection()`方法。在这个方法中,您可以编写处理导入数据的逻辑。 4. 在控制器的方法中使用`Excel::import()`方法来导入Excel文件,并将导入类的实例作为参数传递给该方法。 5. 在路由中定义一个路由,将请求指向您创建的控制器方法。 以下是一个示例代码,演示了如何在Laravel中批量导入Excel: ```php use App\Imports\UsersImport; use Maatwebsite\Excel\Facades\Excel; class UserController extends Controller { public function import() { Excel::import(new UsersImport, 'users.xlsx'); // 导入成功后的逻辑 return redirect()->back()->with('success', 'Excel导入成功.'); } } ``` 在上面的示例中,我们在控制器的`import()`方法中使用`Excel::import()`方法来导入Excel文件。`UsersImport`是一个自定义的导入类,它实现了`ToCollection`接口。您可以在`UsersImport`类的`collection()`方法中编写处理导入数据的逻辑。 请确保您已经根据您的需求自定义了适合您的导入类,并将Excel文件的路径作为第二个参数传递给`Excel::import()`方法。 不要忘记在路由中定义一个路由,将请求指向您的控制器方法。 请注意,这只是一个示例代码,您可能需要根据您的实际应用程序进行适当的修改和调整。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [Github每日精选(第29期):LaravelExcel 导出和导入Laravel-Excel](https://blog.csdn.net/weixin_40425640/article/details/126053684)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [laravel Excel 3.1 使用教程 (导入篇)](https://blog.csdn.net/zfj915752851/article/details/103494400)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xingxingwuxin

你的鼓励是我最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值