将导入的Excel表格的数据保存到session
1、获取读取的文件;2、把文件转换为二进制数组;3、二进制数据转为内存流;4、利用NPOI把内存流中的数据读取成Excel
把Session中的ImportExcel移除避免残留以前数据
然后判断页面传过来的文件是否为excel表格
再获取文件后缀名,判断该文件是excel表格之后然后声明二进制 存放文件
将传入的文件转化为二进制的数组存入fileBytes,然后再将二进制的数据转化为内存流,再将内存流转化为工作簿,再判断工作簿中是否有工作表 再查询出 部门 职位 的信息;用来根据名称获取对应的ID 声明对象列表,存放导入的员工信息 再获取第一个工作表
PhysicalNumberOfRows 获取的是物理行数,也就是不包括那些空行(隔行)的情况。
判断工作表中是否有数据,将数据装到DataTable中,定义datatable
FirstCellNum: 获取某行第一个单元格下标
LastCellNum: 获取某行的列数
FirstRowNum:获取第一个实际行的下标
LastRowNum:获取最后一个实际行的下标
获取表格列数 获取表格行数(最后一行下标+1) 创建dataTable中的列,循环添加标题行中各个单元格的数据
遍历表头行中每一个单元格,获取标题行各个单元格的数据
获取到的标题行的数据放到将dataTable中 读取Excel中的数据 (sheet.FirstRowNum) 第一行是标题 获取行(1、2、3…)数据 创建DataTable行 遍历excel中一行所有的单元格 新行添加到dataTable中 声明变量,记录成功和失败数据的条数 遍历dataTable中的数据 创建EmployeeVo对象保存每一条数据 获取部门ID 和部门名称 通过dataTable中的EmployeeName到dbDepartment中查找相应的DepartmentID 获取职位ID和名称 根据职位ID和职位名称获取相应的职位ID 将每一条数据都添加到对象列表中 将数据保存到session中