excel - 如何从 Maatwebsite/Laravel-Excel 包中的特定表号读取数据?
问题描述
我正在研究在 Laravel 框架中导入 excel 数据并使用Maatwebsite/Laravel-Excel包。
现在我已经按照这些步骤操作,但在阅读包文档后没有任何想法,所以我需要帮助从第二张(第二张)表中读取数据,因为我的 excel 文件中有多个表。
计费数据导入
<?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;
}
}
计费控制器
<?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 和这个包。
解决方案
您需要WithMultipleSheets
在导入类中实现接口。它将要求您添加sheets
方法。您将像这样包括它们;
public function sheets(): array
{
return [
0 => new FirstSheetImport(),
1 => new SecondSheetImport(),
];
}
然后您可以按索引选择它们。更多信息在这里
推荐阅读
- r - 如何过滤R中数据框每一列中的NA
- python - Python 脚本能否在其自身死亡时产生一个新进程?
- javascript - 从包含它们的 json 文件中自动化 Dialogflow 中提出的问题和答案
- sql - 如何在 Postgres 9.4 中忽略没有唯一约束的重复项?
- html - 如何填充标签以填充容器内的父 div
- arrays - KOTLIN 比较 n 维数组
- javascript - 未知的自定义元素:您是否正确注册了组件?Vue js Laravel
- opencv - 在 MacO 上设置 YoloV3 的问题
- python - 具有隐式反馈的推荐系统
- java - 带有@RequestParam 和状态的@Controller 的WebMvcTest 不是200,而是400