引入jquery.form.js
$("#importPointsForm").ajaxSubmit({
success: function(json, status, $form){if (json.result == 0) {
alert("上传成功");
}else{
alert("上传失败");
}
if(json.failList.length > 0){
var failMsg = "";
for(var i=0;i < json.failList.length; i++){
failMsg += json.failList[i].message + "<br/>";
}
$("#failMsg").html("以下数据导入失败:<br/>" + failMsg);
}
},
dataType: "json",
eventTarget: "importPointsBtn"
});
@SuppressWarnings("unchecked")
public void importGAPoint()
throws Exception
{
MultiPartRequestWrapper request = (MultiPartRequestWrapper)getRequest();
File[] files = request.getFiles("file");
Map<String, Object> map = new HashMap<String, Object>();
try
{
XSSFWorkbook workbook = new XSSFWorkbook(new FileInputStream(files[0]));
map = readGAPointDataFromExcel2007(workbook);
}
catch(Exception e)
{
if(e instanceof POIXMLException){
logger.info("uploadManualBillFile upload file is 2003 version excel.");
Workbook wb = WorkbookFactory.create(new POIFSFileSystem(new FileInputStream(files[0])));
map = readGAPointDataFromExcel2003(wb);
}
}
if(Integer.valueOf(map.get("result").toString()) != 0){
renderJSONException(47001, "读取Excel数据时异常");
return;
}
List<Property> insertDataList = (List<Property>)map.get("insertDataList");
if(insertDataList.size() < 2){
renderJSONException(47002, "Excel内容为空,请重新上传");
return;
}
String loginName = getManagerLoginUser();
List<Property> failList = (List<Property>)map.get("failList");
Map<String, Object> insertResult = GoldenSingerPointManagerService.addGoldSingerPoint(insertDataList, loginName);
logger.info("uploadManualBillFile result=" + insertResult.get("result"));
JSONObject json = new JSONObject();
json.put("result", insertResult.get("result"));
json.put("failList", failList);
renderJSON(json.toString());
}