开发工具与关键技术 :VS2015、ASP.NET MVC
撰写时间:2019.9.18

首先是下载导入考生信息的模板,获取文件的名称
数据导入(1)
然后下面是导入的操作,它的思路是:判断类型是不是: .xls 的文件;获取读取的文件;把文件转换为二进制数组;二进制数组转成内存流;利用NPOI把内存流中的数据读取成工作簿Excel :工作簿中有工作表、工作表有数据、数据准确性(表跟表之间的关系)、数据都有,然后读取数据。
这里是下面的第一张图的代码说明,将session中的ImportExcel移除避免残留以前数据,然后获取文件的后缀,判断类型是不是: .xls类型,然后下面,声明二进制数组存放文件,将传入的文件转化为二进制的数组存入fileBytes,将二进制数组转化为内存流,将内存流转化为工作簿,然后工作簿中有工作表,查询出 学院,专业,年级,班级 的信息就是表的信息:用来根据名称获取对应的ID,然后是对象列表,获取第一个工作表
数据导入(1)

之后的工作表有数据 ,判断工作表中是否有数据,数据准确性(表跟表之间的关系),将数据先装到datatable中 ,获取标题行— 第二行,这里索引为1;第一行是说明,获取表格列数 ,再获取表格行数,之后创建dataTable中的列,循环添加标题行中各个单元格的值,然后通过遍历行中的每一个单元格,获取标题行各个单元格的数据,然后再获取到的标题行的数据放到datatable中;读取Excel中的数据,就是(sheet.FirstRowNum) 第一行是说明;第二行是标题;第三行开始是数据信息;之后获取行(1、2、3、4、5…)数据,再是创建DataTable行,遍历excel中一行的所有单元格,将填入数据的dtRow添入dtExcel

数据导入(1)

接下来是数据准确性(表跟表之间的关系),遍历datatable中的数据,创建studentVo对象保存每一条数据,获取表ID 和字段名称这里是学院名称,通过dataTable中的AcademeName到dbAcademe中查找相应的AcademeID,然后获取专业id和名称,根据学院ID和专业名称获取相应的专业ID;获取年级ID 和名称,根据学院ID以及年级名称获取相应的年级ID;获取 班级ID和名称,根据学院ID&专业ID&班级名称获取班级ID。之后将每一条数据都添加到对象列表中,然后记录成功的条数
数据导入(1)
再是把数据保存到Session当中,{0},{1}和{2}是占位符,分别给dtExcel.Rows.Count,intSuccess和intFail占位的。后面就是接着上面if语句的else,就不多说了。
数据导入(1)

相关文章: