实现导入导出数据总结

一.
页面HTML导入部分:
1.
弹出导入Excel的模态框:

写导入方法,方法里可根据自己的需求写一些限制

·禁用保存按钮

·重置表单等最后弹出模态框。

在这里插入图片描述

  1. 下载模板:·打开一个新的窗口,并在窗口中装载指定URL地址的网页。
  2. 上传Excel表格保存到临时表:
    ·避免取消选择后触发上传首先写个判断,判断上传文件为空或者为undefined就return。显示加载层-提交表单-表单数据重载-清空表单。
  3. 保存导入的Excel数据到数据库
    在这里插入图片描述
    二.控制器导入部分:
    1.下载数据模板:

·获取模板路径并判断模板是否存在,不存在就联系系统运维人员,存在则获取文件名称并返回文件。
2. 将导入的数据保存到session里:
·获取读取的文件
·把文件转换为二进制数组
·二进制数组转成内存流
·利用NPOI把内存流中的数据读取成Excel-把session中的ImportExcel移除避免残留以前数据

3.提取session里的数据进行分页

4.保存入数据库:

·纪录保存成功的数据条数和数据库重复而保存失败的数据条数

·实例化并运用foreach循环来判断是否与已有数据库重复

·最后返回Json

三.HTML导出部分

1.定义导出方法:function + 方法名(){}。

2.声明变量:方法里声明变量来接收表格数据的筛选条件。

3.判断:判断(if)出声明的变量是否为空或者为undefined,如果为空或undefined则直接赋值为零。

4.弹出询问框(关闭询问框-打开控制器的导出方法)。

四.控制器导出部分

1.导出数据到Excel表格:public
ActionResult XX(参数){ }。

2.数据查询与条件筛选:多表联查
分组联查等方法筛选出需要的信息,并用if语句进行条件判断。

3.创建工作簿:HSSFWorkbook XX = new HSSFWorkbook();

4.创建工作表:ISheet sheet = XX.CreateSheet(”表名”);

5.创建表头: IRow headRow = sheet.CreateRow(0);

6.设计表头: headRow. CreateCell(0).SetCellValue(“XX”);

          headRow. CreateCell(1).SetCellValue(“XX”);

          headRow. CreateCell(2).SetCellValue(“XX”);

7.写入表格数据:for循环这个新的表,创建行并写入数据。

·将Excel数据转换为文件流输出,输出前调用Seek(偏移量,游标位置)方法来确定流开始的位置。

·seek(0,seekorigin.Begin)第一个参数表示相对的位置,第二个参数表示参照位置;

8.为下载的Excel文件命名
在这里插入图片描述
·假设文件名为fileName,则string fileName=“文件名称”+现在的时间+“.xls”
例:string fileName =
“考生信息” +DateTime.Now.ToString(“yyy-MM-dd-HH-mm-ss-ffff”) + “.xls”

9.return File(ExcelStream,“application/vnd.ms-excel”, fileName)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值