【问题标题】:How to read data from the specific sheet number from Maatwebsite/Laravel-Excel package?如何从 Maatwebsite/Laravel-Excel 包中读取特定表号的数据?
【发布时间】:2020-09-25 15:48:28
【问题描述】:

我正在 Laravel 框架中导入 excel 数据并使用Maatwebsite/Laravel-Excel 包。

现在我已按照步骤操作,但在阅读包文档后没有任何想法,因此我需要帮助从第二张(第二张)表中读取数据,因为我的 excel 文件中有多个表。

BillingDataImport

<?php

namespace App\Imports;

use Illuminate\Support\Collection;
use Maatwebsite\Excel\Concerns\ToCollection;

class BillingDataImport implements ToCollection
{
    /**
    * @param Collection $collection
    */
    public function collection(Collection $collection)
    {
        return $collection;
    }
}

BillingController

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Imports\BillingDataImport;
use App\Http\Controllers\Controller;
use Maatwebsite\Excel\Facades\Excel;
use Illuminate\Support\Facades\Input;

class BillingController extends Controller
{
    /**
     * Store a newly created resource in storage.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return \Illuminate\Http\Response
     */
    public function store(Request $request)
    {
        $import = new BillingDataImport();
        $rawData = Excel::toArray($import, $request->file('company_1'));
        var_dump($rawData);
    }
}

当我转储代码时,我从第一张(第一张)表中获取数据,但我想阅读第二张(第二张)表,所以请你指导我,因为我不太擅长 Laravel 和这个包。

【问题讨论】:

    标签: excel laravel maatwebsite-excel


    【解决方案1】:

    您需要在您的导入类中实现WithMultipleSheets 接口。它将要求您添加sheets 方法。您将像这样包含它们;

    public function sheets(): array
    {
        return [
            0 => new FirstSheetImport(),
            1 => new SecondSheetImport(),
        ];
    }
    

    然后您可以按索引选择它们。更多信息here

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-01-30
      • 2019-05-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多