在实际的开发过程中,也会遇到导入导出的功能,今天就简单的做一下总结。
1.需求:将下面word 数据导入到数据库并进行存储
在Controller中
@RequestMapping(value = "/ImportWord")
public @RawResponseBody
Object ImportWord(HttpServletRequest request, @RequestParam("file") MultipartFile file) throws IOException,
ParseException {
return gwyjglyjtzBizc.ImportWord(request, file);
}
在Service的实现类中,
@Override
public Object ImportWord(HttpServletRequest request, MultipartFile file) throws ParseException {
boolean flag = false;
List<String> rowList;
String userId = null;
String userName = null;
String deptId = null;
String deptName = null;
Map<String, String> userMap = DeptUserUtils.getUserDept(request);
if (userMap instanceof Map) {
userId = ((Map<?, ?>)userMap).get("userId").toString();
userName = ((Map<?, ?>)userMap).get("userName").toString();
deptId = ((Map<?, ?>)userMap).get("deptId").toString();
deptName = ((Map<?, ?>)userMap).get("deptName").toString();
}
String xqlb1 = "";
String xqdj1 = "";
String yjbt1 = "";
try {
rowList = POIUtils.readYjtzWord(file);
GwYjglYjtz gwYjglYjtz = new GwYjglYjtz();
for (int i = 0; i < rowList.size(); i++) {
if (rowList.get(i).equals("主送单位")) {
gwYjglYjtz.setFbdw(rowList.get(++i));
}
if (rowList.get(i).contains("预警通知")) {
yjbt1 += rowList.get(i);
}
if (rowList.get(i).contains("电缆预警")) {
yjbt1 += rowList.get(i);
gwYjglYjtz.setYjbt(yjbt1);
}
if (rowList.get(i).equals("险情类别")) {
xqlb1 += rowList.get(++i) + ",";
gwYjglYjtz.setXqlb(xqlb1);
}
if (rowList.get(i).equals("预警来源")) {
gwYjglYjtz.setYjly(rowList.get(++i));
}
if (rowList.get(i).equals("预警级别")) {
xqdj1 += rowList.get(++i) + ",";
gwYjglYjtz.setXqdj(xqdj1);
}
if (rowList.get(i).contains("事件概要")) {
String string = rowList.get(++i);
gwYjglYjtz.setSjgy(string);
}
if (rowList.get(i).equals("要求")) {
gwYjglYjtz.setYgcsyq(rowList.get(i + 1));
}
if (rowList.get(i).equals("影响时间")) {
String string = rowList.get(++i);
if (string.length() > 0) {
String[] split1 = string.split("~");
SimpleDateFormat sdf = new SimpleD