Jquery+SpringMVC实现上传Excel文件,并批量导入

来源:互联网 发布:小论文数据大多造假 编辑:程序博客网 时间:2024/05/22 15:32

1.前端代码

function alertUploadFile(){
    //创建表单    var formData = new FormData();    var file = $("#upload").val();    console.log(file);    var arr=file.split('\\');//注split可以用字符或字符串分割    var fileName=arr[arr.length-1];//这就是要取得的图片名称//var name = $("input").val();formData.append("file",$("#upload")[0].files[0]);//formData.append("name",name);if ($('#upload').val() == "") {            alert("请选择所要上传的文件");                        }else{            var index = file.lastIndexOf(".");            if(index < 0 ){            alert("上传的文件格式不正确,请选择Excel文件(*.xls)!");                        }else{            var ext = file.substring(index + 1, file.length);            if(ext == "xls" || ext == "xlsx"){                    //$.blockUI({ message: '<image src='image/loading.gif'></image><br><h3>正在加载中</h3>' });            startUploadFile(formData,fileName);            }else{                    console.log("100");            alert("上传的文件格式不正确,请选择Excel文件(*.xls)!");                        }            }        }}function startUploadFile(formData,fileName){     $.blockUI.defaults.message = "<image src='image/loading.gif'></image><br><h3>正在加载中</h3>";//设置遮罩层样式    //$(document).ajaxStart($.blockUI).ajaxStop($.unblockUI);     $.blockUI();//开始遮罩                            //开始上传                            $.ajax({                                     url : tokenUrl+"fileUpload2",                                     type : 'POST',                                     data : formData,                                     // 告诉jQuery不要去处理发送的数据                                    processData : false,                                     // 告诉jQuery不要去设置Content-Type请求头                                    contentType : false,                                    beforeSend:function(request){                                         request.setRequestHeader("token", token);                                            console.log("正在进行,请稍候");                                        }                                    }).done(function(result) {                                        $.unblockUI() ;//解除遮罩                                        var reusltData = JSON.parse(result);                                        console.log(reusltData);                                            //var staffList = ;                                         console.log(reusltData.msg);                                        localStorage.setItem("fileName",fileName);                                        localStorage.setItem("reusltData", JSON.stringify(reusltData));                                        clearFileInput();                                        //调用utils.js下的方法,打开新窗口                                        //                                        openNewWinByJs("uploadExcelResult.html?tag=1&fileName="+fileName+"");                                                                               //openNewWin("uploadExcelResult.html?tag=1&fileName="+fileName+"");                                         //console.log(json);                                        //alert("上传成功");                                        /*layer.close(index); */                                                                                                    }, 'json').fail(function() {                                        //网络错误                                        $.unblockUI()                                         console.log("网络错误");                                         localStorage.setItem("fileName",fileName);                                        clearFileInput();                                        openNewWinByJs("uploadExcelResult.html?tag=0&fileName="+fileName+"");                                                                                 //openNewWin("uploadExcelResult.html?tag=0&fileName="+fileName+"");                                                                               });}

2.后端代码

@RequestMapping("fileUpload2")    public void  fileUpload2(@RequestParam("file") CommonsMultipartFile file) throws IOException {         long  startTime=System.currentTimeMillis();        System.out.println("fileName:"+file.getOriginalFilename());        String path = "";        SystemParameter systemParameter = new SystemParameterDao().load("企业端excel上传路径");        if(systemParameter == null){        //path="C:\\Users\\fcr\\Desktop\\testupload";        path = "G:\\upload";        System.out.println("你好啊");        }else{        path = systemParameter.getValue();         System.out.println("-------");        }                 String filePath=path+"/"+new Date().getTime()+file.getOriginalFilename();                 File newFile=new File(filePath);        System.out.println("准备了");        //通过CommonsMultipartFile的方法直接写文件(注意这个时候)        file.transferTo(newFile);        System.out.println("要开始了");        long  endTime=System.currentTimeMillis();        System.out.println("方法二的运行时间:"+String.valueOf(endTime-startTime)+"ms");        Map<String, Object> resultMap = customerEmployeeService.batchImportStaff(getCustomer(),filePath);returnSuccessJson(resultMap, false);           }


阅读全文
0 0