C#中导出数据到Excel表格

(作者:郭鑫 撰写时间:2019年4月23号)
有些数据的使用不可能仅仅限制于本个项目,还需要在外部使用,当需要在外部使用数据时,就要对数据进行提取,其中一个提取的方式就是把数据导出到Excel表格。
JS部分
在JS部分的代码很少,就是一个询问提示框然后在回调函数里写上一句打开下载的代码(也就是“window.open()”)就可以完成了。
在这里插入图片描述
但是因为这里涉及到了多条件查询,所以要在询问之前把多条件查询的条件处理一下,获取到多条件查询的条件,判断是否为空或者undefined,是就为其赋值为0或空(int类型的赋值为0,string类型的赋值为空)。并把这些条件拼接到下载的路径中,如上面的“?AcademeID=" + AcademeID……&StudentDetail=" + StudentDetail”,就是本次多条件查询的条件拼接到路径上的内容。
获取多条件查询的值:
在这里插入图片描述
判断并赋值:
在这里插入图片描述
控制器部分
接收值部分只接收页面传递过控制器部分的多条件查询的值即可。
开药也要对症下药,导出也是同样的道理,要导出数据首先要知道要导出的数据是什么,所以,导出数据这个功能在控制器部分第一步就是要对数据进行查询。
查询就是查询数据表格和条件筛选的组合,前面我也写过多条件查询的方法,控制器部分步骤是一样的,只是值的问题,接收值的定义也一样。不过导出时只要把数据筛选出来就可以了,不用进行其他的操作。
接着就是创建Excel表格了。在创建前要引用一个引用NPOI,不知道的可上网查,或者问我。
创建Excel表格有5个步骤:
1、创建Excel工作簿;2、创建工作表;3、创建表头行;4、设置表头;5、为Excel表格添加数据
前三步没什么好说的,除了命名外其他都是是固定写法。
在这里插入图片描述
第四步:设置表头
根据你的内容确定要创建多少个单元格,并且为各个单元格命名。
在这里插入图片描述
第五步:为Excel表格添加数据
这里又分为两步,先创建列然后再往列里添加数据,因为要导出的数据的条数是变化的,所有要用循环一条一条的往表格里添加,添加数据是对应表头的名称,添加对应的内容。
在这里插入图片描述
循环时以数据的条数作为条件,在创建行时要从第二行开始创建,第一行已经用作表头了。
接着就要对创建好并赋值的Excel表格进行处理,把Excel表格转化为内存流。
1、 声明一个存放内存流的容器,并把Excel工作簿写入内存流中
在这里插入图片描述
2、输出之前调用Seek(偏移量,游标位置) 移动文件读取指针到指定的位置
在这里插入图片描述
最后就是返回到页面,以文件的形式返回,在返回之前要先给Excel表格命一个名字。
在这里插入图片描述
在页面时,如果执行成功。在各个浏览器的显示不同,在谷歌浏览器的显示如下图所示
在这里插入图片描述

  • 2
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值