手把手:tp5.1使用PHPExcel读取excel内容

1、在工程中执行(即phpstorm下的Terminal执行)

composer require phpoffice/phpexcel

结果:

在vendor中可以看见phpoffice文件夹以及phpexcel文件夹

前台上传excel

upload函数 (这里前台使用layui)

//普通excel上传
        var uploadInst = upload.render({
     
            elem: '#uploadBanner'
            ,url: "{:url('admin/upload/file_excel')}" //路由设置
            ,accept:'file'
            ,exts:'xls|excel|xlsx|csv'
            ,auto:true
            , done: function (res) {
     
                //如果上传失败
                console.log(res);
                //上传成功
            }
            , error: function () {
     
                //演示失败状态,并实现重传
                var demoText = $('#demoText');
                demoText.html('上传失败 重试');
                demoText.find('.demo-reload').on('click', function () {
     
                    uploadInst.upload();
                });
            }
        });

后台

在控制器admin/Upload文件中的file_excel中 (即路由’admin/upload/file_excel’)

/**
*这里默认是xlsx文件,如果是xls,设置excel格式中使用Excel5
*/
function file_excel(Request $request){
     
        $file = $request->file('file');
        $info = $file->move('./upload/excel/');
        $getSaveName = str_replace("\\", "/", $info->getSaveName());
        $fileUrl = './upload/excel/' . $getSaveName;
        $ext = pathinfo($fileUrl);
        //设置excel格式
        $type = strtolower($ext["extension"]);
        $excel_type = $type==='csv' ? $type : 'Excel2007';
        $reader = PHPExcel_IOFactory::createReader($excel_type);
        $excel = $reader->load($fileUrl);
        $excel_array = $excel->getSheet(0)->toArray();
        return (json_encode(array('status' => 1,'tete' => $ext,'test' => $excel_array)));
}

然后再前端控制台中能看见excel文件内容输出

如果有问题请在下方留言

你可能感兴趣的:(PhpExcel,导入excel文件,手把手)