ImageVerifierCode 换一换
格式:DOC , 页数:8 ,大小:80.50KB ,
资源ID:2300766      下载积分:20 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.docduoduo.com/d-2300766.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(C#--Excel数据导出方法总结.doc)为本站会员(dreamzhangning)主动上传,道客多多仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知道客多多(发送邮件至docduoduo@163.com或直接QQ联系客服),我们立即给予删除!

C#--Excel数据导出方法总结.doc

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

2、下自己知道的导出EXCEL表格的方法,大致有以下几种,有疏漏的请大家补充。1.数据逐条逐条的写入EXCEL2.通过OLEDB把EXCEL做为数据源来写3.通过RANGE范围写入多行多列内存数据到EXCEL4.利用系统剪贴板写入EXCEL好了,我想这些方法已经足够完成我们要实现的功能了,方法不在多,在精,不是么?以上4中方法都可以实现导出EXCEL,方法1 为最基础的方法,意思就是效率可能不是太高,当遇到数据量过大时所要付出的时间也是巨大的,后面3种方法都是第一种的衍生,在第一种方法效率低下的基础上改进的,这里主要就是一个效率问题了,当然如果你数据量都很小,我想4种方法就代码量和复杂程度来说第1

3、 种基本方法就可以了,或当你的硬件非常牛逼了,那再差的方法也可以高效的完成也没有探讨的实际意义了,呵呵说远了,本文主要是在不考虑硬件或同等硬件条件下单从软件角度出发探讨较好的解决方案。此项目代码已打包在附件中,几乎注释的无微不至,在配合本文中我唐僧般的娓娓道来(靠,谁丢臭鸡蛋砸俺了 ),相信即使刚入门C#的朋友也能看得懂了吧,大家可以自行下载,代码中演示了两种方法,上述的方法1 和方法 3,我想足够了,方法 3的效率应该是四种中最高的了,其他两种有兴趣的朋友自己实现下哈(方法2在我的程序中也有用到一些,看完你就知道了),程序如下图所示,先加载一个EXCEL表格进DATAGRIDVIEW作为数据

4、源,然后两种方法导出EXCEL,配上一个计数功能给大家直观的看到导出的耗时,大家可以准备个几万行和十多行的两个EXCEL作为数据源来测试,也可以用我打包里的XLS来测试下。首先使用前都需要加载COM组件Microsoft.Office.Interop.Excel.dll(已打包)关键代码如下:方法1,最基本方法,用FOR循环逐条写入EXCEL 的CELL 中,其他的看代码就行了,关键代码如下public void ToExcel1(DataGridView gridView, SaveFileDialog saveFileDialog).for (int i = 0; i / 结束EXCEL.

5、EXE进 程的方法/ / EXCEL对 象DllImport(“user32.dll“, SetLastError = true)static extern int GetWindowThreadProcessId(IntPtr hWnd, out int lpdwProcessId);public void KillSpecialExcel(Microsoft.Office.Interop.Excel.Application m_objExcel)tryif (m_objExcel != null)int lpdwProcessId;GetWindowThreadProcessId(new

6、IntPtr(m_objExcel.Hwnd), out lpdwProcessId); System.Diagnostics.Process.GetProcessById(lpdwProcessId).Kill();catch (Exception ex)MessageBox.Show(ex.Message);2.代 码 里写了个加 载EXCEL到DATAGRIDVIEW的方法,就是想本来就是在写EXCEL操作相关嘛,干脆数据源也用EXCEL,该方法就是把EXCEL作为OLEDB数据源这样来操作的,你是不是想到前面我所提到的四种导出EXCEL中的方法2通过OLEDB把 EXCEL做为数据源来

7、写呢,对了,有兴趣你可以尝试修改下通过OLEDB这样来导出EXCEL,当然,新手朋友可以看下如何加载EXCEL数据,你应该希望去尝试接着如何把这些数据储存到数据库之类的操作3.System.Windows.Forms.Application.DoEvents(),当运行 Windows 窗体时,它将创建新窗体,然后该窗体等待处理事件。该窗体在每次处理事件时,均将处理与该事件关联的所有代码。所有其他事件在队列中等待。在代码处理事件时,应用程序并不响应。例如,当将另一窗口拖到该窗口前面时,该窗口不重新绘制。如果在代码中调用 DoEvents,则您的应用程序可以处理其他事件。例如,如果您有向 Lis

8、tBox 添加数据的窗体,并将 DoEvents 添加到代码中,那么当将另一窗口拖到您的窗体上时,该窗体将重新绘制。如果从代码中移除 DoEvents,那么在按钮的单击事件处理程序 执行结束以前,您的窗体不会重新绘制。这里说远一点,关于如何防止UI假死其实还有更科学的方法,就是使用委托加线程异步执行,把耗时的操作另起进程执行,从而减轻UI的压力,使得前台UI流畅运行而不假死,多用this.Invoke等,但在我程序用我也测试过反而直接DoEvents效果还好的多,而且线程和委托可能对新手朋友稍微复杂了些,推荐一般应用用DoEvents 足够了哦。好了,东西不多废话一大篇,手都写累了,基本上用到的方法都做了详细的解释了,呵呵,希望以后大家多多交流,本人菜鸟一个,写本文就是因为自己也得到过很多热心网友的指导和帮助,也希望分享一些自己的东西作为回报,人人为我,我为人人,学会做个懂得感恩的人比什么都重要,欢迎大家和我一起学习套谈C#,QQ:296326,EMail:

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报