Laravel-admin导入多表并且自动计算公式,场景有些不一样,有做过的麻烦进来看看,求教
Laravel版本:5.8
Laravel Excel版本:3.1
Laravel-admin版本:1.8
示例场景:
现在我的Ecxel下有2个工作表,“name”和“subject”
“name”下的数据没有公式,
“subject”下的数据是有公式的,
现在在Laravel-admin使用Laravel Excel遇到的问题,“subject”工作表的公式是关系到“name”工作表,就不清楚两张表的公式关联应该怎么去拿到值。
例如我圈住的A3,公式是“=name!A3”,
有什么办法能够让公式“=name!A3”直接等于“钱二”
下面这个是引入多表导入代码
<?php
namespace App\Imports\User;
use Maatwebsite\Excel\Concerns\WithMultipleSheets;
class ImportUser implements WithMultipleSheets
{
/**
* @return array
*/
public function sheets(): array
{
return [
'name' => new FirstSheetImport(),
'subject' => new SecondSheetImport(),
];
}
这个是FirstSheetImport导入类(导入“name”工作表的)代码
<?php
namespace App\Imports\User;
use Maatwebsite\Excel\Concerns\ToCollection;
class FirstSheetImport implements ToCollection
{
// 第一张表 name工作表
public function collection(Collection $rows)
{
dd($rows);
}
}
打印出来的结果效果
这个是SecondSheetImport导入类(导入“subject”工作表的)代码
<?php
namespace App\Imports\User;
class SecondSheetImport implements ToCollection,WithColumnLimit,WithCalculatedFormulas
{
// 第二张表 subject工作表
public function collection(Collection $rows)
{
dd($rows);
}
}
打印出来的结果效果
但是查了下官网后,发现有这个类可以自动算公式的
Maatwebsite\Excel\Concerns\WithCalculatedFormulas 导入时计算公式。默认情况下是禁用的。
然后使用这个类之后就出现这种问题了,就挺秃然的
所以现在没有办法知道怎么解决,无奈上来找找路子,给给办法,有做过的吗?求教!谢谢大佬!
本作品采用《CC 协议》,转载必须注明作者和本文链接
目前能够推测的原因是因为 “subject” 工作表计算公式的时候,找不到 “name” 工作表,所以就报这个错
因为比较急的需求,我自己已经想到办法解决了,谢谢各位!