1

目前,我可以从这种格式的 excel 文件中获取数据。

在此处输入图像描述

这是我的工作代码。

        $validator = Validator::make(
        [
            'file'      => $request->file,
            'extension' => strtolower($request->file->getClientOriginalExtension()),
        ],
        [
            'file'          => 'required|max:5000',
            'extension'      => 'required|in:,csv,xlsx,xls',
        ]
    );

    $modal = "active";
    if($validator->fails()){
        return redirect()
        ->back()
        ->with(['errors'=>$validator->errors()->all()])
        ->with('modal',$modal);
    }

    $dateTime = date('Ymd_His');
    $file = $request->file('file');
    $fileName = $dateTime . '-' . $file->getClientOriginalName();
    $savePath = public_path('/upload/projectlist/');
    $file->move($savePath, $fileName);

    $excel = Importer::make('Excel');
    $excel->hasHeader(true);
    $excel->load($savePath.$fileName);
    $collection = $excel->getCollection();

    if(sizeof($collection[1]) == 5)
    {
       $arr = json_decode($collection,true);
            foreach ($arr as $row) {
                $insert_data[] = array(
                    'first_name'  => $row['first_name'],
                    'last_name'  => $row['last_name'],
                    'email'  => $row['email'],
                    'birthdate'  => $row['birthdate']['date'],
                    'created_at'  => now(),
                    'updated_at'  => now(),
                );

            }

        DB::table('tbl_sampleimport')->insert($insert_data);
    }
    else
    {
        return redirect()
        ->back()
        ->with(['errors'=> [0=> 'Please provide date in file according to your format.']])
        ->with('modal',$modal);
    }


    return redirect()->back()
    ->with(['success'=>'File uploaded successfully!'])
    ->with('modal',$modal);

现在格式已经改变了。添加了一些具有单个值的字段。喜欢Project NameProject Date 我正在努力获得它的价值。只想获取该值,但不必将其也保存到数据库中。

在此处输入图像描述

如何获取Project NameProject Date声明为变量的值。并且仍然能够保存和的j.doe17数据j.doe18

我使用cyber-duck 作为我的laravel/excel 进行导入等等。

4

1 回答 1

0

@Dhaval Purohit 建议的解决方案

创建工作表并定义setSheet($sheetNumber).

在此处输入图像描述

所以我尝试在同一个excel文件中只用这种格式创建新工作表

在此处输入图像描述

这会给我这样的

[{
      "project_name":"Creator Doe",
      "project_date":"7/9/2019"
}]
于 2019-11-28T03:39:47.383 回答