jsp页面:
<form name="excelImportForm" action="${ctx}/cheeventlog/upload" method="post" enctype="multipart/form-data" id="excelImportForm">
<div class="modal-body">
<div class="row gap">
<div class="col-sm-3">
<input id="excel_file" type="file" name="filename"/>
</div>
<div class="col-sm-3">
<input id="excel_button" type="submit" value="导入Excel" />
</div>
</div>
</div>
</form>
private String getValue(HSSFCell hssfCell) {
if (hssfCell.getCellType() == hssfCell.CELL_TYPE_BOOLEAN) { // 返回布尔类型的值
return String.valueOf(hssfCell.getBooleanCellValue());
} else if (hssfCell.getCellType() == hssfCell.CELL_TYPE_NUMERIC) { // 返回数值类型的值
Double temp = hssfCell.getNumericCellValue();
return String.valueOf(temp.intValue());
} else {
// 返回字符串类型的值
return hssfCell.getStringCellValue();
}
}
@RequestMapping(value = "upload", method = RequestMethod.POST)
public String upload(@RequestParam("filename") MultipartFile file,
HttpServletRequest request) throws IOException {
String name = file.getOriginalFilename(); // 获取上传文件名
long size = file.getSize(); // 获取文件的大小
if ((name == null || name.equals("")) && size == 0) {
return null;
}
InputStream is = file.getInputStream();
HSSFWorkbook hssfWorkbook = new HSSFWorkbook(is); // 一个excel对象
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
CheEventLog cheLog = null;
try {
// 循环工作表Sheet
for (int numSheet = 0; numSheet < hssfWorkbook.getNumberOfSheets(); numSheet++) {
HSSFSheet hssfSheet = hssfWorkbook.getSheetAt(numSheet);
if (hssfSheet == null) {
continue;
}
// 循环行Row
for (int rowNum = 1; rowNum <= hssfSheet.getLastRowNum(); rowNum++) {
HSSFRow hssfRow = hssfSheet.getRow(rowNum);
if (hssfRow != null) {
HSSFCell eventSource = hssfRow.getCell(0);
HSSFCell companyName = hssfRow.getCell(1);
HSSFCell eventName = hssfRow.getCell(2);
HSSFCell eventReason = hssfRow.getCell(3);
HSSFCell eventEnterprise = hssfRow.getCell(4);
HSSFCell emergencySituation = hssfRow.getCell(5);
HSSFCell behindSituation = hssfRow.getCell(6);
HSSFCell disabled = hssfRow.getCell(7);
HSSFCell version = hssfRow.getCell(8);
HSSFCell createUserid = hssfRow.getCell(9);
HSSFCell createTime = hssfRow.getCell(10);
HSSFCell updateUserid = hssfRow.getCell(11);
HSSFCell updateTime = hssfRow.getCell(12);
// new
cheLog = new CheEventLog();
cheLog.setEventSource(Integer .valueOf(getValue(eventSource)));
cheLog.setCompanyName(getValue(companyName));
cheLog.setEventName(getValue(eventName));
cheLog.setEventReason(getValue(eventReason));
cheLog.setEventEnterprise(getValue(eventEnterprise));
cheLog.setEmergencySituation(getValue(emergencySituation));
cheLog.setBehindSituation(getValue(behindSituation));
cheLog.setDisabled(Integer.valueOf(getValue(disabled)));
cheLog.setVersion(Integer.valueOf(getValue(version)));
cheLog.setCreateUserid(Integer .valueOf(getValue(createUserid)));
cheLog.setCreateTime(sdf.parse(getValue(createTime)));
cheLog.setUpdateUserid(Integer .valueOf(getValue(updateUserid)));
cheLog.setUpdateTime(sdf.parse(getValue(updateTime)));
cheEventLogService.save(cheLog);
System.out.println(createTime + " " + updateTime);
}
}
}
} catch (Exception e) {
e.printStackTrace();
}
return "redirect:/cheeventlog/list";
}