数据库的导入导出

页面 HTML 导入部分

1.弹出导入 Excel 的模态框:

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

·禁用保存按钮

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

 数据库的导入导出

2. 下载模板:·打开一个新的窗口,并在窗口中装载指定 URL 地址的网页。

3. 上传 Excel 表格保存到临时表: ·避免取消选择后触发上传首先写个判断,判断上传文件为空或者为 undefined 就 return。显示加载层-提交表单-表单数据重载-清空表单。

二.控制器导入部分:

1. 导入模板模型

 数据库的导入导出

2. 下载数据模板:

·获取模板路径并判断模板是否存在,不存在就联系系统运维人员,存在则获取文件名称

并返回文件。

3. 将导入的数据保存到 session 里:

·获取读取的文件

·利用 NPOI 把内存流中的数据读取成 Excel-把 session 中的 ImportExcel 移除避免残留

以前数据

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

5.保存入数据库:

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

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

·最后返回 Json

三.HTML 导出部分

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

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

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

赋值为零。

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

四.控制器导出部分

1.导出数据到 Excel 表格:

ActionResult XX(参数){ }。

2.数据查询与条件筛选:多表联查

分组联查等方法筛选出需要的信息,并用 if 语句进行条件判断。

3. 创建工作簿

NPOI.HSSF.UserModel.HSSFWorkbook workbook = new NPOI.HSSF.UserModel.HSSFWorkbook();

4.创建工作表:NPOI.SS.UserModel.ISheet sheet1 = workbook.CreateSheet("旅客信息");

5.创建表头: NPOI.SS.UserModel.IRow row1 = sheet1.CreateRow(1);给 sheet 添加第一行的头

部标题;

6.设计表头: 

 数据库的导入导出

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)