Хорошо, я пытаюсь импортировать файл xlsx в свою базу данных, используя Laravel 5.7 и Laravel Excel 3.1.Импорт работает, но, к сожалению, у меня есть файл из другого источника, и в ячейках есть формулы.Моя проблема в том, что я импортирую этот файл, и он работает, но вместо значений я вижу формулу самостоятельно:
"= _ xlfn.IFNA (VLOOKUP (F13, Данные! C26: E92,3,0), "") "
и должно быть:
Страна
Я должен видеть значения, а не формулы.Я пытался изменить опцию «Рассчитать» на «Ложь» или «Истина», но ничего не изменилось.
Может ли кто-нибудь помочь мне с этим?
UsersImport.php file:
namespace App\Imports;
use App\Form;
use Maatwebsite\Excel\Concerns\ToArray;
use Maatwebsite\Excel\Concerns\Importable;
use Maatwebsite\Excel\Concerns\WithMappedCells;
class UsersImport implements WithMappedCells,
ToArray
{
/**
* @param array $row
*
* @return \Illuminate\Database\Eloquent\Model|null
*/
use Importable;
public function mapping(): array
{
return [
'campaign_name' => 'F11',
'country' => 'F12',
'language' => 'F15',
'region' => 'F17',
'ms_region' => 'F19',
'retailer_name' => 'F21',
'start_date' => 'F23',
'end_date' => 'F25',
'quarter' => 'F27',
'campaign_market' => 'F29',
'campaign_execution_type' => 'F31',
'reimbursement' => 'F33',
];
}
public function array(array $row)
{
return [
'campaign_name' => $row['campaign_name'],
'country' => $row['country'],
'language' => $row['language'],
'region' => $row['region'],
'ms_region' => $row['ms_region'],
'retailer_name' => $row['retailer_name'],
'start_date' => $row['start_date'],
'end_date' => $row['end_date'],
'quarter' => $row['quarter'],
'campaign_market' => $row['campaign_market'],
'campaign_execution_type' => $row['campaign_execution_type'],
'reimbursement' => $row['reimbursement'],
];
}
}
MyController файл:
public function import(Request $request)
{
$data = [];
$this->validate($request, array(
'file' => 'required'
));
if($request->hasFile('file')){
$extension = File::extension($request->file->getClientOriginalName());
if ($extension == "xlsx" || $extension == "xls" || $extension == "csv" || $extension == "xlsm") {
$name = $request->file->getClientOriginalName();
$data = (new UsersImport)->toArray($name);
dd($data);
return redirect('/');
}
}else {
Session::flash('error', 'File is a '.$extension.' file.!! Please upload a valid xls/csv file..!!');
return back();
}
}
}