还是老问题,想将DataSet写入一个Excel文件中.(10000条记录)有没有什么更快的方法?

Cry_Out 2004-12-24 02:44:48


我现在采用的是用逐格写入的方法,要差不多十分钟,我想有没有可能象
用insert into exceltable from ....的方式,快速地将dataset中的数据写入到excel中?


因为之前我试过将excel做为oledb数据库进行读取,可以用select * from sheet进行操作.那么应该也可以有 insert into ...类似操作吧.那位大有没有试过用这种方法写入数据库.
望赐教...
...全文
184 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
lldwolf 2005-01-04
  • 打赏
  • 举报
回复
可以这样子,先把要写的数据填写到一个二维数组中,然后把该数组赋值给Excel的一个Range的Value属性,速度极快,例如:

string[][] strs = new string[2][2];

Excel.Range range = sheet.get_Range(sheet.Cells[1, 1], sheet.Cells[2, 2]);
range.Value = strs;
Cry_Out 2004-12-24
  • 打赏
  • 举报
回复
to : asxulong(假如再有约会)
能说一下你的程序的大体思路吗?我怎么越看越象是写到一个网页流中?
asxulong 2004-12-24
  • 打赏
  • 举报
回复
Response.Clear();
Response.Buffer= true;
Response.Charset="GB2312";
Response.AppendHeader("Content-Disposition","attachment;filename=FileName.xls");
Response.ContentEncoding=System.Text.Encoding.GetEncoding("GB2312");//设置输出流为简体中文
Response.ContentType = "application/ms-excel";//设置输出文件类型为excel文件。
this.EnableViewState = false;
System.Globalization.CultureInfo myCItrad = new System.Globalization.CultureInfo("ZH-CN",true);
System.IO.StringWriter oStringWriter = new System.IO.StringWriter(myCItrad);
System.Web.UI.HtmlTextWriter oHtmlTextWriter = new System.Web.UI.HtmlTextWriter(oStringWriter);
this.DataGrid1.RenderControl(oHtmlTextWriter);
Response.Write(oStringWriter.ToString());
Response.End();
blacklds 2004-12-24
  • 打赏
  • 举报
回复
你可以用crystal report将dataset里面的数据生成一个报表然后保存为excel文档就可以了
Cry_Out 2004-12-24
  • 打赏
  • 举报
回复
另外看到有一种是先用dataset写成xml,然后用excel打开,但那需要excel2002以上才支持,我们公司现在普遍用的都是excel2000,所以这个方法也不行.
(对了,我的程序是winform 程序,不是asp.net)

110,538

社区成员

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

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

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