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(http://www.my516.com))

.Take(layuiTablePage.limit)

.ToList();

//实例化

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里面是出现错误时返回页面的提示。


---------------------