c#--excel数据导出方法总结

c#--excel数据导出方法总结

ID:18875866

大小:80.50 KB

页数:8页

时间:2018-09-26

c#--excel数据导出方法总结_第1页
c#--excel数据导出方法总结_第2页
c#--excel数据导出方法总结_第3页
c#--excel数据导出方法总结_第4页
c#--excel数据导出方法总结_第5页
资源描述:

《c#--excel数据导出方法总结》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、C#导出数据到EXCEL方法谈(附实例源码和详细讲解)如果你耐心仔细看完本文,相信以后再遇到导出EXCLE操作的时候你会很顺手觉得SOEASY,主要给新手朋友们看的,老鸟可以直接飘过了,花了一晚上的时间写的很辛苦,如果觉得对你有帮助烦请留言支持一下,我会写更多基础的原创内容来回报大家。C#导出数据到EXCEL表格是个老生常谈的问题了,写这篇文章主要是给和我一样的新手朋友提供两种导出EXCEL的方法并探讨一下导出的效率问题,本文中的代码直接就可用,其中部分代码参考其他的代码并做了修改,抛砖引玉,希望大家一

2、起探讨,如有不对的地方还请大家多多包涵并指出来,我也是个新手,出错也是难免的。首先先总结下自己知道的导出EXCEL表格的方法,大致有以下几种,有疏漏的请大家补充。1.数据逐条逐条的写入EXCEL2.通过OLEDB把EXCEL做为数据源来写3.通过RANGE范围写入多行多列内存数据到EXCEL4.利用系统剪贴板写入EXCEL好了,我想这些方法已经足够完成我们要实现的功能了,方法不在多,在精,不是么?以上4中方法都可以实现导出EXCEL,方法1为最基础的方法,意思就是效率可能不是太高,当遇到数据量过大时所要

3、付出的时间也是巨大的,后面3种方法都是第一种的衍生,在第一种方法效率低下的基础上改进的,这里主要就是一个效率问题了,当然如果你数据量都很小,我想4种方法就代码量和复杂程度来说第1种基本方法就可以了,或当你的硬件非常牛逼了,那再差的方法也可以高效的完成也没有探讨的实际意义了,呵呵说远了,本文主要是在不考虑硬件或同等硬件条件下单从软件角度出发探讨较好的解决方案。此项目代码已打包在附件中,几乎注释的无微不至,在配合本文中我唐僧般的娓娓道来(靠,谁丢臭鸡蛋砸俺了),相信即使刚入门C#的朋友也能看得懂了吧,大家可

4、以自行下载,代码中演示了两种方法,上述的方法1和方法3,我想足够了,方法3的效率应该是四种中最高的了,其他两种有兴趣的朋友自己实现下哈(方法2在我的程序中也有用到一些,看完你就知道了),程序如下图所示,先加载一个EXCEL表格进DATAGRIDVIEW作为数据源,然后两种方法导出EXCEL,配上一个计数功能给大家直观的看到导出的耗时,大家可以准备个几万行和十多行的两个EXCEL作为数据源来测试,也可以用我打包里的XLS来测试下。首先使用前都需要加载COM组件Microsoft.Office.Intero

5、p.Excel.dll(已打包)关键代码如下:方法1,最基本方法,用FOR循环逐条写入EXCEL的CELL中,其他的看代码就行了,关键代码如下publicvoidToExcel1(DataGridViewgridView,SaveFileDialogsaveFileDialog){...........................for(inti=0;i

6、[j,i].Value==typeof(string)){excel.Cells[i+2,j+1]=""+gridView[i,j].Value.ToString();}else{excel.Cells[i+2,j+1]=gridView[j,i].Value.ToString();}}//进度条加1progressBar1.Value++;/**注意此Application.DoEvents(),如果无此句,当切换窗口后回到本程序无法重绘窗体会出现假死状态*此处我试过用委托和线程异步调用的方法,但效果

7、没有这句效果好*/System.Windows.Forms.Application.DoEvents();...................}方法2,快速保存内存中大量数据到Excel的WorkSheet。关键之处是使用Range一次存储多行多列数据。publicvoidToExcel2(DataGridViewgridView,SaveFileDialogsaveFileDialog){....................System.Reflection.Missingmiss=System

8、.Reflection.Missing.Value;//创建EXCEL对象appExcel,Workbook对象,Worksheet对象,Range对象Microsoft.Office.Interop.Excel.ApplicationappExcel;appExcel=newMicrosoft.Office.Interop.Excel.Application();Microsoft.Office.Interop.Excel.Workboo

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。