导包 利用了Hutool包
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>${hutool-version}</version>
</dependency>
页面 (${base}这里是绝对路径)
<form class="form-horizontal" id="form_table" action="${base}/a/saveExcel" enctype="multipart/form-data" method="post" style="padding-left: 15px; ">
<div style="position: relative;left: 2%">
<input class="form-input" type="file" name="filename"/>
</div>
<div align="center">
<button type="submit" class="layui-btn" style="float: left" >批量导入Excel</button>
</div>
</form>
Controller层
@RequestMapping(value = "saveExcel")
@ResponseBody
public ModelAndView saveExcel(@RequestParam(value="filename") MultipartFile file) throws IOException {
//获取上传文件输入流
InputStream inputStream = file.getInputStream();
//调用用 hutool 方法读取数据 默认调用第一个sheet
ExcelReader excelReader = ExcelUtil.getReader(inputStream);
//从第二行开始获取数据
List<List<Object>> read = excelReader.read(1, excelReader.getRowCount());
System.out.println("数据:"+read);
//循环获取的数据
for (int i = 0; i < read.size(); i++) {
List list = read.get(i);
UserInfo userInfo = new UserInfo();
userInfo.setWorkingId(list.get(0).toString());
userInfo.setJobNumber(list.get(1).toString());
userInfo.setName(list.get(2).toString());
userInfo.setPost(list.get(3).toString());
userInfo.setPhone(list.get(4).toString());
if(!userInfoService.save(userInfo)){
return new ModelAndView("redirect:/material/error.html");
}
}
return new ModelAndView("redirect:/material/success.html");
}