数据的导出
(作者:饶家俊,撰写时间:2019年5月5号)
我们很多时候要把电脑里面的数据,拿出来,因为数据都是放在数据库里面,一个个的复制过来的话是十分浪费时间的,而且有的时候有几万条数据,要一个个的复制恐怕没有这么长的时间,那么就要用到数据的导出,把你要的数据先查询好,在点击导出的话就会,弹出一张表,里面就是你要的数据.
首先我们要定义一个方法,在取个名称,在把需要三个参数添加进去。因为是导出数据,所以要把数据先查询出来,又因为每次不一定都要打印全部的数据,所以还要筛选数据,来获取想要的数据,在来进行下一步的操作。
接下来就要如何导出了,前两句代码,是因为我们是通过一个表来接受要到出的数据,所以我们要先创建出一个文件,只有先创建出一个文件,然后在去添加表格。
在进行设置表头,每个数据都有对应的表格,所以要给表格添加第一行的头部标题。在通过row1 和 CreateCell 来把表格头部的标题创建完成。
在给表格来添加数据,这个方法是通过循环方式来添加数据,每次循环都会添加一行数据,在用他们头部标题的名称,在把对应的数据放进去,就把数据添加完成,注意名称不要填错,填错的话导出的数据就会混乱.
在来添加一写需要修改或者添加的代码,string fileName = “学生安全教育测试成绩” + DateTime.Now.ToString(“yyyy-MM-dd-HH-mm-ss-ffff”) + “.xls”;这句代码主要是设置文件的名称,先定义一个fileName的变量,后面是你要设置文件的名称,在拼接一下时间yyyy-MM-dd-HH-mm-ss-ffff 是时间的格式年月日小时分钟秒,来标记你什么时候导出的时间,在后面就是文件的类型。
接下来要把他转换成文件流在进行输出,先定义一个文件流MemoryStream BookStream = new MemoryStream();在把工作簿写入文件流里面book.Write(BookStream);最后在输出之前调用Seek获取文件流的长度BookStream.Seek(0, SeekOrigin.Begin);我们已经写好了方法就要拿这个方法来调用它。
首先要到添加按钮里面的标签添加点击事件,在取个名字,在用这个名字来写一个方法来调用它。
一开始就要数据筛选,那么就要先获取前面的ID。在进行判断,因为全校的数据是十分庞大的所以在这里也要进行一个判断,点击就提示他是否导出全校数据?若不需要请筛选数据,点击确定就会导出数据,还有一种判断如果他筛选了数据点击导出就直接导出来。
在把在定义的方法ExportStudentAchievement给到它,就可查询到数据,在进行判断,没有筛选就要提示,有筛选就直接导出。
这就是我们导出的表格,里面是我要页面哪里就查询到要导出的数据,直接导出来在,里面就有学好.姓名.性别.班级.成绩.合格类型.这就是表头,下面就是表头对应的信息,不会出现混乱的现象.