1.需要ajaxfileupload.js 和 jQery.js 、GSON包

2.spring.xml 配置

<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver" > <!-- set the max upload size1MB 1048576 --> <property name="maxUploadSize"> <value>52428800</value> </property> <property name="maxInMemorySize"> <value>2048</value> </property> </bean>

3. JSP页面

<input type="button" id="import" class="btn btn-primary"
                        style="width: 110px" value="Excel导入">

<input style="display: none" type="file" id="file" name="file"  onchange="excelUpload();"/>

<script type="text/javascript">
//Excel导入ajax
            $("#import").click(function() {
                $("#file").click();
            });

            function excelUpload() {
                $.ajaxFileUpload({
                            url : '${pageContext.request.contextPath}/rest/priceShipownerService/excelUpload.json',
                            secureuri : false,
                            fileElementId : 'file',
                            dataType : 'json',
                            success : function(data) {                        
                                alert(data.msg);
                                location.reload();
                                
                            }
                        });}

</script>
            
            

4.后台java接收

 1 public void excelUpload(MultipartHttpServletRequest multipartRequest,
 2             HttpServletResponse response) throws Exception {
 3         response.setContentType("text/html;charset=UTF-8");
 4         Map<String, Object> result = new HashMap<String, Object>();
 5 
 6         String key = multipartRequest.getFileNames().next();
 7         MultipartFile file = multipartRequest.getFile(key);
 8         String fileName = file.getOriginalFilename();
 9         InputStream is = file.getInputStream();
10         String msg = this.priceShipownerImportExcel(fileName, is);
11         result.put("msg", msg);
12         String json = new Gson().toJson(result,
13                 new TypeToken<Map<String, Object>>() {
14                 }.getType());
15         response.getWriter().print(json);
16 
17     }