<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<%@include file="/view/resource.jsp" %>
<script type="text/javascript" src="<%=basePath%>/js/ux/router/fileUpload.js"></script>
</head>
<body class="easyui-layout">
<form id="impForm" class="ui-form" method="post" >
<div class="ui-edit">
<div class="ftitle">导入Excel</div>
<div class="fitem">
<label><a href="<%=basePath%>/excel/template.xls">Excel模板下载</a></label>
</div>
<div class="fitem">
<label>请选择excel文件:</label>
<input type="file" id="myFile" name="myfile"/>
<input type="button" value="上传文件" οnclick="ajaxFileUpload('<%=basePath%>/router/importExcel.do')"/></span>
</div>
<div class="fitem">
</div>
<div class="fitem" style="padding-left:20px;">
<font color="red">1. excel字段说明: 路由器ID、mac地址必须填值,路由器所处房间位置允许为空.</font><br>
</div>
</form>
</body>
</html>
// 统一的Excel上传导入方式
@RequestMapping("/importExcel")
public void importExcel(HttpServletRequest request, HttpServletResponse response) {
MultipartHttpServletRequest mulRequest = (MultipartHttpServletRequest) request;
MultipartFile file = mulRequest.getFile("myfile");
try {
List<List<Object>> list = ExcelUtil.readExcelByInputStream(file.getInputStream());
file.getInputStream().close();
List<Router> listRouter = new ArrayList<Router>();
List<UserRouter> listUserRouter = new ArrayList<UserRouter>();
Router r = null;
UserRouter ur = null;
SysUser user =SessionUtils.getUser(request);
String userId = user.getUserName();
for (int i=1;i<list.size();i++) {
r = new Router();
ur = new UserRouter();
List listObj = list.get(i);
for (int j = 0 ;j< listObj.size();j++) {
if(j==0){
ur.setRouterId(listObj.get(j).toString());
r.setRouterId(listObj.get(j).toString());
}else if(j==1){
ur.setMac(listObj.get(j).toString());
r.setMac(listObj.get(j).toString());
}else if(j==2){
if(listObj.get(j)!=null && !"".equals(listObj.get(j)))
r.setPosition(listObj.get(j).toString());
}
}
listRouter.add(r);
listUserRouter.add(ur);
}
userRouterService.impRouters(listRouter, listUserRouter,userId);
sendSuccessMessage(response, "文件导入成功!");
} catch (Exception e) {
log.error(e.getMessage());
sendFailureMessage(response, "文件导入失败,请检查数据的合法性!");
}
}
spring-common.xml
<!-- SpringMVC上传文件时,需配置MultipartResolver处理器 -->
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<!-- 指定所上传文件的总大小不能超过8000KB......注意maxUploadSize属性的限制不是针对单个文件,而是所有文件的容量之和 -->
<property name="maxUploadSize" value="800000000"/>
</bean>