导入Excel表格(二)
1、 提取session中的数据、并进行分页操作,上传excel表格,保存到临时表格。
初始化临时表格,提交表单,判断状态是否为真,若为真,则启用 导入到数据库 的按钮;为false,让查询的url 和数据 为空,写一个方法到控制器查询数据,把数据保存到临时表格。
2、 控制器
声明一个列表对象,当session的数据不为空时,用来接收保存在session中的数据,然后计算数据的总条数,实例化实体类对象,封装数据,将得到的数据返回到页面。
List<studentVo> listStudentVo = new List<studentVo>();
if (Session["ImportExcel"] != null)
{
listStudentVo = Session["ImportExcel"] as List<studentVo>;
}
//计算数据总条数
int totalRow = listStudentVo.Count();
List<studentVo> listStu = listStudentVo
.OrderByDescending(m => m.studentID)
.Skip(layuiTablePage.GetStartIndex())
.Take(layuiTablePage.limit)
.ToList(http://www.my516.com);
//实例化
LayuiTableData<studentVo> layuiTableData = new LayuiTableData<studentVo>();
layuiTableData.count = totalRow;
layuiTableData.data = listStu;
return Json(layuiTableData, JsonRequestBehavior.AllowGet);
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
3、 把临时表的数据保存到数据库里面。
首先,声明两个字符串变量,一个用来记录成功保存到数据库的数据条数,另一个用来记录数据库已经存在而保存失败的数据条数,然后用foreach 遍历循环从session中的到的数据,判断得到的数据与数据库中的数据是否重复,若没有重复,就把数据新增到数据库中。最后输出是用到上面声明的两份字符串变量,看成功了多少条数据,失败了多少条数据。
Catch里面是出现错误时返回页面的提示。
4、效果:
---------------------