班级管理:
与其他模块管理相比,增了上传解析文件的部分,即可以通过表格文件对班级成员完成添加操作
前端代码:
下面是layui中上传文件所需要的配置,以及上传成功后的刷新操作
<button type="button" class="layui-btn" id="addStudentByExcel"><i class="layui-icon"></i>通过文件添加</button>
var uploadInst = upload.render({
elem: '#addStudentByExcel' //绑定元素
,url: 'addStudentByExcel' //上传接口
,data: {classId : classId , majorId : majorId}
,done: function(res){
var json = eval(res);
if (json.status == "OK") {
table.render({
elem: '#classStudentTable'
,url:'getClassStudent?classId='+classId
,cellMinWidth: 80
,cols: [[
{field:'studentId', width:100, title: '学生ID'}
,{field:'studentNumber', width:200, title: '学号'}
,{field:'studentName', width:100, title: '学生姓名'}
,{field:'email', width:150, title: '邮箱'}
,{field:'mobile', width:150, title: '手机'}
,{fixed: 'right', width:150, align:'center', toolbar: '#studentToorbar'}
]]
});
layer.msg("添加成功",{icon : 6});
layer.close();
} else {
layer.msg("添加失败",{icon : 5});
}
}
,error: function(){
layer.msg("上传失败",{icon : 5});
}
,exts: 'xls|xlsx'
,accept: 'file'
});
后台代码:
主要实现一个工具类,以及controller对文件的接受
package com.classsign.util;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.CellType;
import org.apache.poi.ss.usermodel.DateUtil;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
* 读取Excel
*
* @author zengwendong
*/
public class ExcelUtil {
private ExcelUtil excelUtil;
private static Logger logger = LoggerFactory.getLogger(ExcelUtil.class);
private static Workbook wb;
private static Sheet sheet;
private s