这是一个测试写的导入固定模板的excel表的数据(ssm+jsp)
/**
* 导入数据
*
* @param file
* @param redirectAttributes
* @return
*/
@SuppressWarnings("resource")
@RequiresPermissions("sys:messageSendLog:edit")
@RequestMapping(value = "import", method = RequestMethod.POST)
public String importFile(MultipartFile file, RedirectAttributes redirectAttributes)throws Exception {
// 获取文件
String fileName = file.getOriginalFilename();
file.transferTo(new File(fileName));
org.apache.poi.ss.usermodel.Workbook book = null;
try {
book = new XSSFWorkbook(fileName);
} catch (Exception ex) {
book = new org.apache.poi.hssf.usermodel.HSSFWorkbook(new FileInputStream(fileName));
}
org.apache.poi.ss.usermodel.Sheet sheet = book.getSheetAt(0);
//获取到Excel文件中的所有行数
int rows = sheet.getPhysicalNumberOfRows();
int realRows = rows-2;//去除第一、二行
//遍历行
for (int i = 2; i < rows; i++) {
// 读取左上端单元格
Row row = sheet.getRow(i);
// 行不为空
if (row != null) {
// 获取到Excel文件中的所有的列
/*int cells = row.getPhysicalNumberOfCells();*/
MessageSendLog msLog = new MessageSendLog();
// 遍历列
/* for (int j = 1; j < cells; j++) { */
// 获取到列的值
org.apache.poi.ss.usermodel.Cell cell = row.getCell(1);
if (StringUtils.isNotBlank(cell.getStringCellValue())) {
msLog.setMessageContent(cell.getStringCellValue());
}
cell = row.getCell(2);
if (StringUtils.isNotBlank(cell.getStringCellValue())) {//状态
String status = cell.getStringCellValue();
String statusValue = "";
if ("xx".equals(status)) {
statusValue = DictUtils.getDictValue("xx", "send_status", "");
msLog.setStatus(statusValue);
}else if ("xx".equals(status)) {
statusValue = DictUtils.getDictValue("发送成功", "send_status", "");
msLog.setStatus(statusValue);
}else if("xx".equals(status)){
statusValue = DictUtils.getDictValue("成功失败", "send_status", "");
msLog.setStatus(statusValue);
}
}
cell = row.getCell(3);
if (StringUtils.isNotBlank(cell.getStringCellValue())) {
String messageType = cell.getStringCellValue();
Integer messageTypeInteger =0;
String messageTypeValue = "";
if ("xx".equals(messageType)) {
messageTypeValue = DictUtils.getDictValue(messageType, "message_type", "");
messageTypeInteger = Integer.valueOf(messageTypeValue);
msLog.setMessageType(messageTypeInteger);
}else if ("xx".equals(messageType)) {
messageTypeValue = DictUtils.getDictValue(messageType, "message_type", "");
messageTypeInteger = Integer.valueOf(messageTypeValue);
msLog.setMessageType(messageTypeInteger);
}else if("xx".equals(messageType)){
messageTypeValue = DictUtils.getDictValue(messageType, "message_type", "");
messageTypeInteger = Integer.valueOf(messageTypeValue);
msLog.setMessageType(messageTypeInteger);
}
}
cell = row.getCell(4);
SimpleDateFormat sdf = new SimpleDateFormat(
"yyyy-MM-dd hh:mm:ss");
String sendTime = cell.getStringCellValue();
if (StringUtils.isNotBlank(sendTime)) {
Date date = sdf.parse(sendTime);
msLog.setSendTime(date);
}
cell = row.getCell(5);
String num = cell.getStringCellValue();
if (StringUtils.isNotBlank(num)) {
Integer newNum = Integer.valueOf(num);
msLog.setResendNum(newNum);
}
cell = row.getCell(6);
if (StringUtils.isNotBlank(cell.getStringCellValue())) {
msLog.setSendBy(cell.getStringCellValue());
}
cell = row.getCell(7);
if (StringUtils.isNotBlank(cell.getStringCellValue())) {
msLog.setSendTelephone(cell.getStringCellValue());
}
cell = row.getCell(8);
if (StringUtils.isNotBlank(cell.getStringCellValue())) {
msLog.setSendUnit(cell.getStringCellValue());
}
cell = row.getCell(9);
if (StringUtils.isNotBlank(cell.getStringCellValue())) {
msLog.setPrincipalBy(cell.getStringCellValue());
}
cell = row.getCell(10);
if (StringUtils.isNotBlank(cell.getStringCellValue())) {
msLog.setPrincipalTelephone(cell.getStringCellValue());
}
cell = row.getCell(11);
if (StringUtils.isNotBlank(cell.getStringCellValue())) {
msLog.setPrincipalUnit(cell.getStringCellValue());
}
cell = row.getCell(12);
SimpleDateFormat sdf2 = new SimpleDateFormat(
"yyyy-MM-dd hh:mm:ss");
String createTime = cell.getStringCellValue();
if (StringUtils.isNotBlank(createTime)) {
Date date2 = sdf2.parse(createTime);
msLog.setCreateTime(date2);
}
cell = row.getCell(13);
if (StringUtils.isNotBlank(cell.getStringCellValue())) {//
String remindType = cell.getStringCellValue();
Integer remindTypeInteger = 0;
String remindTypeValue = "";
switch (remindType) {
case "test1":
remindTypeValue = DictUtils.getDictValue(remindType, "remind_type", "");
remindTypeInteger = Integer.valueOf(remindTypeValue);
msLog.setRemindType(remindTypeInteger);
break;
case "test2":
remindTypeValue = DictUtils.getDictValue(remindType, "remind_type", "");
remindTypeInteger = Integer.valueOf(remindTypeValue);
msLog.setRemindType(remindTypeInteger);
break;
case "test3":
remindTypeValue = DictUtils.getDictValue(remindType, "remind_type", "");
remindTypeInteger = Integer.valueOf(remindTypeValue);
msLog.setRemindType(remindTypeInteger);
break;
case "test4":
remindTypeValue = DictUtils.getDictValue(remindType, "remind_type", "");
remindTypeInteger = Integer.valueOf(remindTypeValue);
msLog.setRemindType(remindTypeInteger);
break;
default://test5
remindTypeValue = DictUtils.getDictValue(remindType, "remind_type", "");
remindTypeInteger = Integer.valueOf(remindTypeValue);
msLog.setRemindType(remindTypeInteger);
break;
}
}
cell = row.getCell(14);
if (StringUtils.isNotBlank(cell.getStringCellValue())) {
String remindMode = cell.getStringCellValue();
Integer remindModeInteger = 0;
String remindModeValue = "";
if("xxx".equals(remindMode)){
remindModeValue = DictUtils.getDictValue(remindMode, "remind_mode", "");
remindModeInteger = Integer.valueOf(remindModeValue);
msLog.setRemindMode(remindModeInteger);
}else if ("xxx".equals(remindMode)) {
remindModeValue = DictUtils.getDictValue(remindMode, "remind_mode", "");
remindModeInteger = Integer.valueOf(remindModeValue);
msLog.setRemindMode(remindModeInteger);
}else if ("xxx".equals(remindMode)) {
remindModeValue = DictUtils.getDictValue(remindMode, "remind_mode", "");
remindModeInteger = Integer.valueOf(remindModeValue);
msLog.setRemindMode(remindModeInteger);
}
}
messageSendLogService.save(msLog);
addMessage(redirectAttributes, "成功导入"+realRows+"数据");
}
}
return "redirect:" + adminPath + "/sys/messageSendLog/list?repage";
}