首页 > 解决方案 > 使用 Maatwebsite 导入 Laravel Excel

问题描述

我在 laravel 工作不到 1 个月,我正在尝试将 excel 数据导入 mysql (phpmyadmin)。当前正在使用以下格式导入:第一种格式

我当前的视图代码和控制器是这样的:

看法:

    <div>
     {!! Form::open(array('route' => 'userPoints.import', 'method' => 'POST', 'files' => 'true')) !!}
        <div class="row">
            <div class="col-xs-10 col-sm-10 col-md-10">
                @if (Session::has('success'))
                    <div class="alert alert-success">Archivo cargado correctamente{{-- Session::get('message') --}}</div>
                @elseif (Session::has('warnning'))
                    <div class="alert alert-warning">No se selecciono ningun archivo{{-- Session::get('message') --}}</div>
                @endif
                    <div class="form-group">
                        {!! Form::label('sample_file', 'Selecciona archivo:', ['class'=>'col-md-3']) !!}
                        <div class="col-md-9">
                        {!! Form::file('userPoints', array('class' => 'form-control')) !!}
                        {!! $errors->first('userPoints', '<p class="alert alert-danger"> :message</p>') !!}
                        </div>
                    </div>
            </div>
            <div class="col-xs2 col-sm-2 col-md-2 text-center">
            {!! Form::submit('Cargar', ['class'=>'btn btn-success']) !!}
            </div>
        </div>
    {!! Form::close() !!}
    </div>

控制器:` //加载档案

/**
 * get view file
 * @return [type] [description]
 */
public function list()
{
    return view('imports.userPoints');//view('imports.excel');
}


/**
 * Post Excel file to save into database
 * @param  Request $request [description]
 * @return [type]           [description]
 */
public function userPointsImport(Request $request)
{
    if($request->hasFile('userPoints')){
        $path = $request->file('userPoints')->getRealPath();
        $data = Excel::load($path)->get();
        if($data->count()){
            foreach ($data as $key => $value) {
                $userPoint_list[] = [
                            'user_id'               => $value->iduser,
                            'cod'                   => $value->codigo,
                            'day'                   => $value->dia,
                            'month'                 => $value->mes,
                            'year'                  => $value->ano,
                            'productive_day'        => $value->cantidadproduccion,
                            'special_productive'    => $value->produccionespecial,
                            'created_at'            => DB::raw('NOW()'),
                            'updated_at'            => DB::raw('NOW()'),
                        ];


            }
            if( !empty($userPoint_list)){
                DB::table('user_points')->insert($userPoint_list);
                Session::flash('success','Archivo cargado correctamente.');
            }
        }
    }else{
        Session::flash('warnning','Archivo no encontrado.');
    }
    return back();
}`

正如我在第一张图片中所说,它正在使用该格式。但我想让它使用更简单的格式: Second Format。其中 01-31 是 9 月的日子。

请哪位大神赐教。感谢您的关注。

标签: laravelimport-from-excel

解决方案


推荐阅读