gpt4 book ai didi

Php split/chunk Excel with Maatwebsite Laravel-Excel v.3

转载 作者:行者123 更新时间:2023-12-04 19:50:31 26 4
gpt4 key购买 nike

我有非常大的 xlsx 1000000 行,但为了测试,我使用了 999 行的 Excel。所以,为了节省内存,我想从这个文件中获取数据 block 并处理它们。我找到了这个 https://docs.laravel-excel.com/3.1/imports/chunk-reading.html

namespace App\Imports;
use Maatwebsite\Excel\Concerns\ToArray;
use Maatwebsite\Excel\Concerns\WithChunkReading;
class ProducttestImport implements ToArray,WithChunkReading
{
public function array(array $row): array
{ return $row ; }
public function chunkSize(): int
{ return 100; }
}

在 Controller 中

myFunc(){
$rows = Excel::toArray(new ProducttestImport(), $path.$excelName)[0];
return $rows;
}

但似乎我遗漏了什么,因为 $rows 有包含 999 个数组的数组。我需要包含 10 个数组的数组(分块 999 行时)。

我在哪里可以访问/获取这些 block ?

最佳答案

解决方法..

namespace App\Exports;
use Maatwebsite\Excel\Concerns\Exportable;
use Maatwebsite\Excel\Concerns\FromArray;
class ProducttestExport implements FromArray
{use Exportable;
public $inputArr;

public function __construct(array $inputArr = [])
{ $this->inputArr = $inputArr; }

public function array() :array
{
if(count($this->inputArr) >0) return $this->inputArr;
return [];
}
}

在foreach中

...
Excel::store( new ProducttestExport($array), $key.'_file.xlsx', 'my_disk' );
...

然后一个一个处理文件..

但无论如何我希望有人知道如何获取 block 并发布答案。

关于Php split/chunk Excel with Maatwebsite Laravel-Excel v.3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60195316/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com