导出与导入

文献种类:专题技术文献;
开发工具与关键技术:工具:Visual Studio 2015、SQL Server、
技术:前端、C# + JavaScript + Html + Asp.Net.MVC + SQL Serve
作者:吴东梅 ;撰写时间:2019 年 1 月 26 日
导入与导出
开场白: 温故而知新,可以当师父。哈哈!斗胆问一句大家可否还记得Excle表格数据的导入和导出?虽然很简单但是在以后的开发项目中是90%以上都要用到的基本技术点,所以非常重要请大家仔细跟我温习一遍吧!
先来温习一下导入Excel表格吧,当然在进行导入数据的时候要记住,一定要检查你想要导入的数据格式跟数据库的数据格式是否一致,如果不一致,是导入不了成功的。

首先:在进行操作之前必须谨记要先引入一个NPOI 的引用。

NPOI.DLL文件 :它可以在没有安装Office的情况下对Word或Excel文档进行读写操作。
Dll 叫动态链接库,需要的时候引入就可以使用

上传的步骤: 这个选择到的文件传入控制器 用 HttpPostedFileBase 类型的对象 接收文件

1、判断文件类型——> 把文件转换为二进制数组

byte[] fileBytes = new byte[file.ContentLength];

file.InputStream.Read(fileBytes, 0, file.ContentLength);
2、二进制数组转成内存流
System.IO.MemoryStream excelFileStream = new System.IO.MemoryStream(fileBytes);

3、将内存流转化为工作簿
NPOI.SS.UserModel.IWorkbook workbook = new NPOI.HSSF.UserModel.HSSFWorkbook(excelFileStream);

4、如果工作簿中有表格,开始导入
a、 查询Excle表格中每个列名对应的列ID
b、 如果是“华南理工大学”,就循环查询出每一行的“学院ID” ,其他列也一样
c、 判断是否有数据
导出与导入
导出与导入
导出与导入
导出与导入
Session[“ImportExcel”] = listStudentVo; 这句代码是把选择导入的数据已经处理好放到session中(临时表),这时我们就需要查询数据到临时表中显示出来,所以触发下面的代码,用以下代码把数据进行分页,显示出在临时表格
As 关键字:强制转换,即使转换失败也不会抛出异常。
导出与导入
显示在临时表的效果图:
导出与导入
当你把自己所选择好的数据在临时表*自己确认无误之后,就点击模态框中的导入数据库按钮,进行把选好的数据导入到数据库中进行保存。
导出与导入
导出与导入
导出与导入
以上是控制器的写法代码,以下是页面代码:
首先得把临时表格模态框弹出来
导出与导入
调用控制器的方法把数据传到临时表格上
导出与导入
导出与导入
调用数据库保存到数据库的方法,把数据保存到数据库。
导出与导入
所有操作完成后,保存到数据库成功之后的效果图:
导出与导入
导入数据已完成。
温习完导入数据,那下面我们来温习一下导出数据吧!导出数据比导入数据更简单。

首先,我们要在点击导出按钮时,要加上多条件查询,因为数据的条数是很庞大的,如果我们不需要那么多的数据,却贸然全部导出,这样会造成有些数据不但没用,还很浪费时间,所以这时需要先进行多条件查询,查询出符合自己想要导出数据的条件,在把数据浏览一遍是不是自己想要的数据,再进行导出操作。当然,如果需要,也可以全部导出。
所以,在写点击导出按钮的触发事件的前面加上多条件查询,查询条件根据实际情况而定,如图:
页面代码:
导出与导入
控制器代码:
导出与导入
导出与导入
导出成功之后,数据在以EXCEl表格的形式保存在你的电脑下载里,可以去查看。
如图就是我刚导出成功的数据:
导出与导入
到此为止,导入与导出便已结束,其实导入看起来更复杂,导出相对比较简单,但是多应用就都会变得很简单了。