PHPOffice / PhpSpreadsheet

A pure PHP library for reading and writing spreadsheet files
https://phpspreadsheet.readthedocs.io
MIT License
13.31k stars 3.45k forks source link

Undefined index: Name #3153

Closed ahmed-ibrahim1998 closed 1 year ago

ahmed-ibrahim1998 commented 1 year ago

when I import a file , i use maatexcel package with laravel voyager

![excel](https://user-images.githubusercontent.com/48594096/199253461-d8fdda82-d0b1-422f-a55a-c28232a92adb.PNG

code importStudent

<?php

namespace App\Imports;

use App\Student;
use Maatwebsite\Excel\Concerns\ToModel;
use Maatwebsite\Excel\Concerns\WithHeadingRow;

class StudentsImport implements ToModel, WithHeadingRow
{
    /**
     * @param array $row
     *
     * @return \Illuminate\Database\Eloquent\Model|null
     */
    public function model(array $row)
    {
        return new Student([
            'name'       => $row['Name'],
            'DOB'        => $row['DOB'],
            'gender'     => $row['G']
        ]);
    }
}

controller code

<?php

namespace App\Http\Controllers\Back;

use App\Imports\StudentsImport;
use Illuminate\Http\Request;
use Maatwebsite\Excel\Facades\Excel;
use TCG\Voyager\Http\Controllers\VoyagerBaseController as BaseVoyagerBaseController;

class StudentController extends BaseVoyagerBaseController
{
    public function importStudent(Request $request)
    {
        $this->validate($request, [
            'file'  => 'required|mimes:xls,xlsx'
        ]);
        Excel::import(new StudentsImport(), $request->file('file'));

        return redirect()
            ->back()
            ->with(array('message' => 'Successfully Imported file', 'alert-class' => 'success'));
    }
MarkBaker commented 1 year ago

You should probably ask this in the maatexcel support, because it's not a PhpSpreadsheet problem; but my guess would be that Name !== name

ahmed-ibrahim1998 commented 1 year ago

@MarkBaker thank you for reply the problem solved

change Name to name ---> small letter