excel文件上传前后台代码实现

<form id="fileUploadForm" method="post"
enctype="multipart/form-data">
<div style="width: 400px; margin: 20px auto; text-align: center">
<input id="lefile" type="file" name="file"
onchange="fileChange(this, event)" style="display: none"
accept="application/vnd.ms-excel,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" />
<div>
<input id="photoCover" class="form-control"
style="width: 300px; border-radius: 5px 0px 0px 5px; display: inline-block"
type="text" placeholder="请选择Excel文件"> <a class="btn btn-default"
style="margin: 0px; position: relative; left: -5px; border-radius: 0px 5px 5px 0px;color: #171515"
onclick="$('input[id=lefile]').click();">浏览</a>
</div>
</div>
</form>

---------------------------------------------------------------------------------------------------------------------------------

$("#fileUploadForm").ajaxSubmit({
type: 'post',
url: $.WEBROOT + '/dhccApi/servResource/uploadFile?',
data:"#fileUploadForm",
dataType: 'json',
success: function(data) {
if(data.opFlg==="1"){
alertTime(data.msg);
$("#upload").modal("hide");
$('#mscData').bsGrid('refresh',{url:url});
$("#photoCover").val("");
}else{
$CommonUI.alert("导入失败,请重新选择正确文件导入");
// alert(data.msg);
}
},
error: function(xhr,textStatus,errorThrown) {
$CommonUI.alert("服务器错误");
}
});

------------------------------------------------------------------------------------------------------------------------------------------------------------------

public Object uploadFileRest(HttpServletRequest request,
@RequestParam("file") MultipartFile file) {
ApiServiceDto dto = new ApiServiceDto();
dto.setFile(file);
servResourceBlh.uploadFile(dto);
return dto;
}

----------------------------------------------------------------------------------------------------------------------------------------------------------------

public void uploadFile(ApiServiceDto dto) {

// ApiServiceDto dto = super.getExactlyDto(baseDto);
MultipartFile file = dto.getFile();
try {
List<ApiServiceList> aslList = new ArrayList<ApiServiceList>();
if (file != null) {
HSSFWorkbook workbook = new HSSFWorkbook(file.getInputStream());
HSSFSheet sheet = workbook.getSheetAt(0);
HSSFRow row0 = sheet.getRow(0);
Map<String,String> m = new HashMap<>();
for(int cellNum = 0; cellNum < row0.getLastCellNum(); cellNum++){
HSSFCell cell0 = row0.getCell(cellNum);
m.put(String.valueOf(cellNum),cell0.getStringCellValue());
}
// logger.info(JsonUtils.toJson(m));
for (int numRows = 2; numRows <= sheet.getLastRowNum(); numRows++) {
HSSFRow row = sheet.getRow(numRows);
ApiServiceList asl = new ApiServiceList();
asl.setCreateTime(new Date());
asl.setEffectiveStatus("1");
asl.setId(UUID.randomUUID().toString().replace("-", ""));
for (int cellNum = 0; cellNum < row.getLastCellNum(); cellNum++) {
HSSFCell cell = row.getCell(cellNum);
String cellName = m.get(String.valueOf(cellNum));
// logger.info(cellName);
try{
switch(cellName.toUpperCase().replaceAll("_", "")){
case "SERVICENAME":
asl.setServiceName(cell.getStringCellValue());
break;
case "SERVICEENNAME":
asl.setServiceEnName(cell.getStringCellValue());
break;
case "SERVICEDESCRIPTION":
asl.setServiceDescription(cell.getStringCellValue());
break;
case "SERVICEADDRESS":
asl.setServiceAddress(cell.getStringCellValue());
break;
case "SERVICEPROVIDER":
asl.setServiceProvider(cell.getStringCellValue());
break;
case "SERVICEVERSION":
asl.setServiceVersion(cell.getStringCellValue());
break;
case "SUBORDINATESYSTEM":
asl.setSubordinateSystem(cell.getStringCellValue());
break;
case "SERVICERESOURCEBUSINESS":
asl.setServiceResourceBusiness(cell.getStringCellValue());
break;
case "SERVICETYPE":
asl.setServiceType(cell.getStringCellValue());
break;
case "AUDITSTATUS":
asl.setAuditStatus(cell.getStringCellValue());
break;
case "SERVICESUMMARY":
asl.setServiceSummary(cell.getStringCellValue());
break;
default:
break;
}
}catch(Exception e){
logger.error(e.getMessage(), e);
}
}
// logger.info(JsonUtils.toJson(asl));
aslList.add(asl);
}
dto.setAslList(aslList);

//保存数据库的方法
servResourceService.save(dto);
dto.setOpFlg(OpFlag.DbOpSuccess);
dto.setMsg("上传文件成功!");
} else {
dto.setOpFlg("-1");
dto.setMsg("上传文件为空,重新上传");
}
} catch (Exception e) {
dto.setOpFlg(OpFlag.DbOpFailure);
logger.error(e.getMessage(), e);
dto.setMsg("导入失败!" + e.getMessage());
}
}

猜你喜欢

转载自www.cnblogs.com/sunjinwei/p/12033283.html
今日推荐