asp.net导出数据到excel最优雅的方法

在网上看到很多使用ASP.NET将数据库中的数据导出到excel的方法,有的甚至方法一、二、三、四列出一大堆,基本上全是通过DataSet或DataTable采用循环的方式每行每列的读取写入的,看得头晕。
如果你的数据库用的是ACCESS或SQLServer,为什么要这么麻烦呢?他们和EXCEL的很多东西是相通的,为什么不采用一种更优雅的方式呢?

 

经过本人摸索,终于找到,源代码就不给了,因为这种方法的源代码很少。思路如下:

 

1、提前在服务器某个目录,建立一个excel模板文件,里面包含一个我们所需要的对应名称的空表tablename。
2、在执行导出时,先把这个模板文件复制一份,新文件名newfilename可以加个时间或随机数后缀。
3、关键部分,一个SQL语句搞定:insert into [Excel 8.0;database=newfilename].[tablename$] select ... from ...(此语句在操作ACCESS导出EXCEL成功,SQLServer导EXCEL没试过)
4、正常的话,数据瞬间就导入到EXCEL文件中了。
5、直接告诉浏览器EXCEL文件的下载路径,或读取文件流向浏览器发送数据。

采用这种方法的是优点是程序编码简洁,导出速度快,服务端不需要安装EXCEL;缺点是导出的数据是不带任何格式的,你如果想设置excel文件里面的格式,那得再想办法了。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值