从SQL导出数据到EXCEL(上)

近来用做了一个综合查询,需要把几乎一个系统的数据完全导入到一个EXCEL里,就不得不对所有导出数据到EXCEL得方法进行了解,以选择一个性能最好的方式:
综和网上的几种方式看,从SQL导出数据到EXCEL主要分成四种方式;(根据个人的理解哈)
第一:以前我在前面的文章里也提到过就是直接通过HtmlText的方式给全部输出到EXCEL,代码如下;
None.gif Response.Clear(); 
None.gifResponse.Buffer
=   true
None.gifResponse.Charset
= " GB2312 " ;    
None.gifResponse.AppendHeader(
" Content-Disposition " , " attachment;filename=FileName.xls " ); 
None.gifResponse.ContentEncoding
= System.Text.Encoding.GetEncoding( " GB2312 " ); // 设置输出流为简体中文
None.gif
Response.ContentType  =   " application/ms-excel " ; // 设置输出文件类型为excel文件。 
None.gif
this .EnableViewState  =   false ;    
None.gifSystem.Globalization.CultureInfo myCItrad 
=   new  System.Globalization.CultureInfo( " ZH-CN " , true );
None.gifSystem.IO.StringWriter oStringWriter 
=   new  System.IO.StringWriter(myCItrad); 
None.gifSystem.Web.UI.Writer oHtmlTextWriter 
=   new  System.Web.UI.HtmlTextWriter(oStringWriter);
None.gif
this .DataGrid1.RenderControl(oHtmlTextWriter); 
None.gifResponse.Write(oStringWriter.ToString());
None.gifResponse.End();
None.gif

这种方式的缺点是导入到EXCE里的所以的信息不能编辑。
第二:就是最传统的通过COM组件通过对Interop.Excel.dll的引用实现导出数据。(这种方式具体在后面将。)
这种方式是消耗的性能比较大,当你插入数据的适合不得不一个单言格的填充数据,导致数据量大时,性能很差。但是这种方式有一种好处就是可以尽最大可能的操作EXCEL,比如:EXCEL的SHEET等。
第三:用OLEDB把EXCEL文件最为一个目的文件,实现数据的导出。(这种方式具体在后面将。)
这种方式比第二种的性能好些,因为我自己认为他是把EXCEL文件当作是一个数据库,一行当作一格表,他是一行一行的写SQL的插入语句,实现插入到EXCEL。但是这种方式也有格自命的缺点,就是你把数据插入EXCEL时不能包含EXCEL的”保留字“。比如:标题不能为NOTE等。
第四:通过DTS象SQL的备份还原一样在SQL里新建一个包,实现数据的导出。(这种方式具体在后面将。)这种方式我觉得性能好,但灵活性不强,因为你不能对数据按指定的要求导出。

转载于:https://www.cnblogs.com/gjahead/archive/2007/04/05/701686.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值