winform的datagrid数据导出到excel中?

bian8021 2006-07-12 02:38:55
各位大虾,我现在要实现在winform的datagrid中的数据导出到excel中,在网上找了一些方法,用起来速度都太慢了,一千条记录要等好久,大家有没有快一些的办法啊.
...全文
453 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
Eddie005 2006-07-14
  • 打赏
  • 举报
回复
循环一两千次会很慢吗?不会,试一下不就知道了吗...
AdaLoveLacer 2006-07-14
  • 打赏
  • 举报
回复
可以另开一个线程在后台专门保存,这样就算在慢的话,只要用户感觉不出来,就ok拉
bian8021 2006-07-14
  • 打赏
  • 举报
回复
To Eddie005(♂) №.零零伍 (♂) ( )
能不能说的详细一些啊,你说的第二种方法,也是用循环吧.速度不慢吗
myminimouse 2006-07-12
  • 打赏
  • 举报
回复
关注
yangsixian 2006-07-12
  • 打赏
  • 举报
回复
用sql语句
cancerser 2006-07-12
  • 打赏
  • 举报
回复
写文件当然是要慢的
最快的方法是把数据存到一个数据库的新表,然后把这个表另存为excle(开个玩笑)
写文件是慢的,因为无论你怎么写,都得是一个流 一条条往里写

关注~
yf1025 2006-07-12
  • 打赏
  • 举报
回复
的确是很慢,帮顶,看看有没有好方法
Eddie005 2006-07-12
  • 打赏
  • 举报
回复
调用excel类库逐条写入的方法是比较慢了,有其他方法:
1)首先是创建一个xls文件,然后直接把*.xls当作access数据库文件,使用ado.net来读写;局限是必须是列表式的规范格式

2) 直接写文件, System.IO.StreamWriter sw = System.IO.File.CreateText("....");
sw.Write("<table>");
sw.Write("<tr>");
sw.Write("<td>");
sw.Write(myDataTable.Rows[0].Cells[0].ToString());
//...
sw.Close();

110,535

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧