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

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);
       
    }


  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值