laravel excel 导入excel

首先需要安装Laravel Excel ,安装方法详见:http://www.maatwebsite.nl/laravel-excel/docs/getting-started#installation

我的excel文件格式如下:

商品货号(编号)入库数量
KS0003414
KS0003425
KS0003436
KS0003447

代码如下:

Excel::load($tmp_file, function($reader) {

    $reader = $reader->getSheet(0);
    //获取表中的数据
    $results = $reader->toArray();
    foreach ($results as $key => $value) {
        echo '<BR><BR>goods_sn:'.$value[0];
        echo '<BR>storage_num:'.$value[1];
    }
    dd($results);

});

其中,tmp_file为文件的路径。
显示效果如图:
这里写图片描述
这种方法是从文件的第一行数据开始读,一直读取到最后。每行的数据在转化的数组里的下标都是按照先后顺序从零开始的。

其实还有两位两种方法读取excel文件的方法,只是对文件的格式需要变化,如:

goods_snstorage_num
KS0003414
KS0003425
KS0003436
KS0003447

方法一、

代码:

                    $reader->each(function($sheet) {                //这里是按行循环读取每一行的数据

                    echo "<BR>goods_sn:".$sheet['goods_sn'];
                    echo "<BR>storage_num:".$sheet['storage_num'];

                    // Loop through all rows
                    $sheet->each(function($value) {             //这里循环每行的每个字段value

                        echo '<BR>value:'.$value;
                    });

                    echo '<BR><BR>';
                });

结果:


goods_sn:KS000341
storage_num:4
value:KS000341
value:4


goods_sn:KS000342
storage_num:5
value:KS000342
value:5


goods_sn:KS000343
storage_num:6
value:KS000343
value:6


goods_sn:KS000344
storage_num:7
value:KS000344
value:7

说明:这种方法是从第二行开始读取的,第一行的数据作为没列的下标。

方法二、
代码:

                $results = $reader->get()->toArray();

                foreach ($results as $val) {

                   // 进行数据操作
                   // dd($val);
                   echo '<BR><BR>goods_sn:'.$val['goods_sn'];
                   echo '<BR>storage_num:'.$val['storage_num'];
                }
                dd($results);

结果:

goods_sn:KS000341
storage_num:4

goods_sn:KS000342
storage_num:5

goods_sn:KS000343
storage_num:6

goods_sn:KS000344
storage_num:7

array:4 [▼
  0 => array:2 [▼
    "goods_sn" => "KS000341"
    "storage_num" => 4.0
  ]
  1 => array:2 [▼
    "goods_sn" => "KS000342"
    "storage_num" => 5.0
  ]
  2 => array:2 [▼
    "goods_sn" => "KS000343"
    "storage_num" => 6.0
  ]
  3 => array:2 [▼
    "goods_sn" => "KS000344"
    "storage_num" => 7.0
  ]
]

Author:leedaning
本文地址:http://blog.csdn.net/leedaning/article/details/53841995

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在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 ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值