----------------------------------------html-------------------------------------------
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>layui导入excel读取数据</title>
</head>
<body>
<div class="layui-form">
<div class="layui-form-label" style="width: auto">导入excel操作</div>
<div class="layui-form-block">
<input type="file" name="file" class="layui-btn layui-btn-primary" id="excelUpload" multiple="multiple">
</div>
<!-- <div class="btn-group">-->
<!-- <a href="javascript:void(0)" id="dssubmit" class="btn">开始导入</a>-->
<!-- </div>-->
</div>
</body>
<script type="text/javascript" src="/ajax/libs/jquery/jquery-3.2.1.min.js"></script>
<script type="text/javascript" src="/ajax/libs/jquery/jquery.form.js"></script>
<script type="text/javascript" src="/ajax/libs/jquery/jquery.serializejson.js"></script>
<script src="/ajax/libs/layui-v2.5.7/layui.js" type="text/javascript"></script>
<script>
layui.use('upload', function () {
var upload = layui.upload;
//执行实例
var uploadInst = upload.render({
elem: '#excelUpload' //绑定元素
, url: '/Test/excelUpload'//上传接口
, type: "file"
, accept: 'file'
, before: function (obj) {
//layer.load(); //上传loading
}
, done: function (res) {
//上传完毕回调
if (res) {
} else {
}
}
, error: function () {
//layer.closeAll('loading');
}
});
});
</script>
</html>
------------------------------------------------------------java---------------------------------------------------------------
@Controller
@RequestMapping("/Test")
public class excelUpload {
// @PostMapping("/excelUpload")
@RequestMapping(value = "/excelUpload", method = RequestMethod.POST)
@ResponseBody
public Object batchUpload(HttpServletRequest request) throws IOException {
System.out.println("进入");
//将HttpServletRequest转型为MultipartHttpServletRequest,就能非常方便地得到文件名和文件内容
MultipartHttpServletRequest multipartHttpRequest=(MultipartHttpServletRequest) request;
// //文件路径
// String filePath= PathUtil.getRootPath()+ "uploadFiles/"+"/"+ DateUtil.getDay();
// System.out.println(filePath);
// File fileDir = new File(filePath);
// //不存在这个文件或文件夹时
// if(!fileDir.exists()){
// //创建一个文件夹
// fileDir.mkdirs();
// }
//判断是否是文件上传请求/是普通表单还是带文件上传表单。
if (ServletFileUpload.isMultipartContent(multipartHttpRequest)) {
//获取上传的文件(.getFiles()方法里的内容需要与input框的name属性值一致)
List<MultipartFile> list = multipartHttpRequest.getFiles("file");
//读取Excel文件,将每行数据循环遍历出来。
for (MultipartFile item : list) {
// 读取整个Excel
HSSFWorkbook sheets = new HSSFWorkbook(item.getInputStream());
// 获取第一个表单Sheet
HSSFSheet sheetAt = sheets.getSheetAt(0);
// 循环获取每一行数据
for (int i = 1; i < sheetAt.getPhysicalNumberOfRows(); i++) {
HSSFRow titleRow = sheetAt.getRow(i);
if(titleRow.getLastCellNum()<2)continue;
//默认第一行为标题行,i = 0
//业务代码1:创建一个实体对象用来存放读取的Excel表格数据
// Nbgxr nbgxr=new Nbgxr();
if (titleRow.getCell(1)!=null){
//获取Excel表格数据第2列数据
titleRow.getCell(1).toString();
//业务代码2:将第2列数据set进实体对象
// nbgxr.setName(titleRow.getCell(1).toString());
System.out.println(titleRow.getCell(1).toString());
}
if (titleRow.getCell(3)!=null){
//获取Excel表格数据第4列数据
titleRow.getCell(3).toString();
//业务代码3:将第4列数据set进实体对象
// nbgxr.setIdcard(titleRow.getCell(3).toString());
System.out.println(titleRow.getCell(3).toString());
}
//业务代码4:Excel表格数据添加到数据库方法
// List<Nbgxr> n=rsds.insert(nbgxr);
}
}
}
return null;
}
}