VS数据的导出

开发工具与关键技术:VS    VS数据的导出
作者:赖文扬
撰写时间:2019年5月25日

项目的数据导入了,那么就有导出数据,怎么导出数据呢?首先在cshtml的视图里面写导出来的表格代码和给它一个点击事件,然后再到里面写导出当前数据到Excel表格的代码,用function写出点击事件和下面的一个提示。
(下面截图)
VS数据的导出_第1张图片
在cshtml写完了导出数据的代码之后,就转到控制器这边写导出数据的代码,在控制器这里首先是多表查询,现在就是用三个表来查询出数据。首先用public来写和绑定三个表的ID,然后再写数据查询&筛选,(简单分析一下语句:比如Linq使用group,而by分组按UserID用户ID查询出用户最高的成绩信息,group by分组语法:group tbAchievement by tbAchievement.UserID into tbStudent。表示对tbAchievement按UserID字段进行分组,其结果命名为tbStudent,一旦重新命名,tbAchievement的作用域就结束了,所以,最后select时,只能select tbStudent)。现在首先来判断第一个表的数据,key的属性是返回进行分组的关键字段的值。
(下面截图)
VS数据的导出_第2张图片
然后再来查询,查询的时候用List<>括号里面要给它一个类,类是要自己新建的,新建好了一个类之后就要在那个类里面写上要查询的数据,比如要查询学号、姓名、性别、班级等,就写public string StudentNumber(学号) {get; set;},这样就可以了。
(下面截图)
VS数据的导出_第3张图片
引入了那个类之后就可以查询数据了,查询数据是根据那个主表来写另一个表是否等于另一个表的主键ID,然后再用jojn根据一条条数据来查询。到下面select new AchievementVo就根据那个主表的数据一条条的来判断。
(下面截图)
VS数据的导出_第4张图片
然后再根据三个表的主键ID来筛选。
(下面截图)
VS数据的导出_第5张图片
最后是要创建工作簿、创建工作表、设计表头、创建表头、设计表头字段、写入表格数据、创建行、写入数据。将Excel文件转化为文件流输出,输出之前调用Seek(偏移量,游标位置)方法:确定流开始的位置,为下载的Excel文件命名,最后返回。
(下面截图)
在这里插入图片描述
这样数据库的导出就完成了。

你可能感兴趣的:(VS数据的导出)