尝试使用laravel导入excel。日期列将为空。
实际列标题为日期。我试着将它重命名为某个随机名称,然后导入它,它可以工作。尝试使用下列格式设置选项:
maatwebsite/excel版本为"^3.1“
拉拉版本为6.20.41
Excel文件:
代码:
<?php
namespace App\Imports\Master;
use App\Models\Master\RiscoveryInsuranceSettlement;
use Maatwebsite\Excel\Concerns\Importable;
use Maatwebsite\Excel\Concerns\SkipsFailures;
use Maatwebsite\Excel\Concerns\SkipsOnFailure;
use Maatwebsite\Excel\Concerns\ToModel;
use Maatwebsite\Excel\Concerns\WithHeadingRow;
use Maatwebsite\Excel\Concerns\WithValidation;
use PhpOffice\PhpSpreadsheet\Shared\Date;
use DB, Auth;
use Illuminate\Support\Facades\Log;
use Maatwebsite\Excel\Concerns\WithColumnFormatting;
use Maatwebsite\Excel\Concerns\WithMapping;
use PhpOffice\PhpSpreadsheet\Style\NumberFormat;
use Carbon\Carbon;
class RiscoverySettlementImport implements ToModel,WithHeadingRow
{
use Importable,SkipsFailures;
/**
* Merge excel date and time
* @param $date
* @param $time
* @return static
*/
public function __construct()
{
$this->startRow = 1;
}
/**
* @param array $row
*
* @return \Illuminate\Database\Eloquent\Model|null
*/
public function model(array $row)
{
dd($row);
}
}结果
array:37 [
"insurance_company" => "Aditya Birla Insurance"
"policy_number" => "RISVRY00287267"
"carrier_policy_no" => "GHI-AIRPAY-000002"
"date" => null
"month" => 44593
"name_of_product" => "Group Health Care"
"type" => "Group Health Care"
"total_premium" => 5963
"without_gst_amount" => 5053.3898305085
"ncb_amount" => null
"od_premium" => 0
"tp_premium" => 0
"irda_od" => 0
"irda_tp" => 0
"irda_commission" => 0
"irda_commission_amount" => 0
"irda_tp_amount" => 0
"irda_od_amount" => 0
"umbo_od_tp_commission" => 0
"excess_digital_enablement" => null
"irda_excess" => 0
"irda_excess_amount" => 0
"name_of_partner" => "AIRPAY"
"payout" => 0.38
"partner_payout_od" => 0
"partner_payout_tp" => 0
"payout_amount" => 1920.2881355932
"payment_reference" => "8e98172033bb33d48deabce6"
"insurance_co_booking_status" => null
"status_billedunbilled" => null
"invoice_number" => null
"invoice_amount" => null
"receipt_date" => null
"partner_paid_status" => null
"vendor" => null
"amount" => null
"comments" => null
]发布于 2022-03-31 14:44:14
如果要将这些数据插入数据库,则必须创建一个模型来导入数据。我认为您很清楚如何在导入类中创建模型,删除WithHeadingRow,因为不再按列标题导入数据。
从…
class RiscoverySettlementImport implements ToModel,WithHeadingRow至
class RiscoverySettlementImport implements ToModelpublic function model(array $row)
{
return new model_name([
'col_1' => $row[0], // col_1 will come from your model
'col_2' => $row[1], // col_2 will come from your model
'col_3' => $row[2], // col_3 will come from your model
... Add all columns
]);
}https://stackoverflow.com/questions/71693277
复制相似问题