1、首先必须配置bean
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"> <property name="maxUploadSize" value="10485760"/> <property name="resolveLazily" value="true"/> <property name="maxInMemorySize" value="4096"/> <property name="defaultEncoding" value="UTF-8"/> </bean>
<form id="fileForm" method="post" enctype="multipart/form-data"> <input type="text" id="someText" name="someText"> <input type="file" name="file" id="file"> </form>
3、js代码
var someText= $("#someText").val(); var file = $("#file")[0].files[0]; //获取标签值好像函数与浏览器不兼容,网上的大多是通过$("#file").files[0]获取, 我这里必须通过$("#file")[0].files[0]才能获取到值 var formData = new FormData(); formData.append(‘someText‘,someText); formData.append(‘file‘,file); $.ajax({ type:"post",url:‘请求路径‘,data:formData,dataType:‘json‘,cache:false,contentType: false,processData: false, success: function(data) { // 结果处理 } });
@RequestMapping(value = "路径",method = { RequestMethod.GET,RequestMethod.POST }) @ResponseBody public Object uploadFile(@RequestParam(value = "someText",required = false) String someText,@RequestParam(value = "file",required = false) multipartfile file,HttpServletRequest request) {//required = false才能获取到值 XSSFWorkbook workbook = new XSSFWorkbook(file.getInputStream()); XSSFWorkbook workbook = new XSSFWorkbook(file.getInputStream()); for (int numSheet = 0; numSheet < workbook.getNumberOfSheets(); numSheet++) { XSSFSheet sheetAt = workbook.getSheetAt(numSheet); if (sheetAt == null) { continue; } // 循环行Row for (int rowNum = 0; rowNum <= sheetAt.getLastRowNum(); rowNum++) { XSSFRow row = sheetAt.getRow(rowNum); if (row == null) { continue; } // 循环列Cell for (int cellNum = 0; cellNum <= row.getLastCellNum(); cellNum++) { //在此可进行获取单元格值并入库 getValue(row,cellNum); } } } } //单元格类型转换并获取值 private String getValue(XSSFRow row,int cellNum) { XSSFCell cell = row.getCell(cellNum); if (cell.getCellType() == cell.CELL_TYPE_BOOLEAN) { return String.valueOf(cell.getBooleanCellValue()); } else if (cell.getCellType() == cell.CELL_TYPE_NUMERIC) { return String.valueOf((int) cell.getNumericCellValue()); } else { return String.valueOf(cell.getStringCellValue()).equals("") ? "" : String .valueOf(cell.getStringCellValue()); } }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。