1、页面代码
<form action="" enctype="multipart/form-data" id="fileForm" method="post">
<div class="email" id="importList">
<h3>[[#{giftCertificate.info.importL}]]: </h3>
<input id="importFile" type="file"/>
</div>
</form>
2、js代码
<script type="text/javascript">
var formData = new FormData();
var file = document.getElementById('importFile');
formData.append('importFile', file.files[0]);
$.ajax({
url: contextPath + '/gc/importFile',
type: 'post',
data: formData,
dataType: "json",
async: false,
cache: false,
contentType: false,
processData: false,
success: function (result) {
if (result != null && result != '') {
if (result.info.length == 0) {
confirm_show(giftCertificate_problem_point, giftCertificate_success_importFail);
return;
}
if (result.code == '1') {
assignPersonInfo = '';
for (i in result.info) {
if (assignPersonInfo == '') {
assignPersonInfo += result.info[i];
} else {
assignPersonInfo += ',' + result.info[i];
}
}
} else if ('cf' == result.code) {
confirm_show(giftCertificate_problem_point, result.info);
return;
} else {
confirm_show(giftCertificate_problem_point, giftCertificate_success_importFail);
return;
}
}
}, error: function () {
confirm_show(giftCertificate_problem_point, giftCertificate_success_importFail);
return;
}
});
</script>
3、后台代码
@SystemLog(module = "BOSS-用户中心", methods = "上传文件")
@RequestMapping("importFile")
@ResponseBody
public Object importFile(HttpServletRequest request, @RequestParam(value = "importFile") MultipartFile importFile) {
BaseResult baseResult = new BaseResult();
baseResult.setCode("-1");
List<String> result = new ArrayList<>();
try {
ObjectMapper objectMapper = new ObjectMapper();
Workbook wb = WorkbookFactory.create(importFile.getInputStream());
Sheet sheet = wb.getSheetAt(0);
int rowNums = sheet.getLastRowNum() + 1;//总行数
BPmCouponNamelist filePersonInfo = new BPmCouponNamelist();
for (int i = 1; i < rowNums; i++) {
try {
Row hr = sheet.getRow(i);
if (!Objects.isNull(hr)) {
String gameId = getCellValue(hr.getCell(0));
String clientUserId = getCellValue(hr.getCell(1));
filePersonInfo.setGameId(gameId);
filePersonInfo.setClientUserId(clientUserId);
result.add(objectMapper.writeValueAsString(filePersonInfo));
}
} catch (Exception e) {
log.warn("Coupon exception: {}", e.toString());
}
}
Map<String, Object> map = new HashMap<>();
map.put("info", result);
map.put("code", "1");
return map;
} catch (Exception e) {
log.error("error importExcelItem cause", e);
baseResult.setInfo(e.getMessage());
}
return baseResult;
}