Datatable如何快速导入到excel

pangzi2627 2004-07-11 11:49:24
如题,我目前用的方法是逐个导入
mysheet.Cells[ii,jj]=mytable.Rows[ii][jj].ToString();
这样导出10000行要几分钟。
不知各位大侠是否有更快的生成方法。
...全文
513 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
swang 2004-08-03
  • 打赏
  • 举报
回复
最快的方法还是使用存储过程。
呵呵,把excel中的sheet页当做一个表,直接从数据库中导到excel中
pangzi2627 2004-07-21
  • 打赏
  • 举报
回复
我已经找到方法了,用STRING 数组实现。
思路如下:
string[,] aa=new string[100,100]
excel.range myrange=excel.get_range(cell[1,1],cell[100,100]);
for(i=0;i<100;i++)
for(j=0;j<100;j++)
{
aa[i][j]=datatable.rows[i][j].tostring();
}
myrange.value=aa;

这样改造后速度提高了几十倍,缺点是内存开销比较大。
shoutor 2004-07-13
  • 打赏
  • 举报
回复
blog.csdn.net/shoutor
pangzi2627 2004-07-13
  • 打赏
  • 举报
回复
再顶
甴曱 2004-07-12
  • 打赏
  • 举报
回复
http://blog.csdn.net/cocosoft/archive/2004/04/12/19138.aspx
chNET 2004-07-12
  • 打赏
  • 举报
回复

web的,还是winfrom的?

liduke 2004-07-12
  • 打赏
  • 举报
回复
将数据在后台连接到一个水晶报表文件中,当需要导出excel时,来利用水晶报表来导出可不可以
pangzi2627 2004-07-12
  • 打赏
  • 举报
回复
自己顶一下
hansolduckie 2004-07-12
  • 打赏
  • 举报
回复
我也问.
  • 打赏
  • 举报
回复
说的不清楚,例如每行4个数据,那么csv就是:
12,13,14,15
16,17,18,19
  • 打赏
  • 举报
回复
呵呵,这个就是把你的数据每行以逗号为分隔,保存为一个文本文件,后缀为csv就是了
不过这个读写速度与楼主的方法比,还不好说哪个快些:)
pangzi2627 2004-07-11
  • 打赏
  • 举报
回复
如何做
anbeel 2004-07-11
  • 打赏
  • 举报
回复
存成csv格式文本不知可否?
anbeel 2004-07-11
  • 打赏
  • 举报
回复
应该快几倍吧!

public bool IE_savetocsv(DataTable dt,string fn)
{
int rowIndex=1,colIndex=0;
try
{
StringBuilder sb=new StringBuilder();
foreach(DataColumn Col in dt.Columns)
{
colIndex+=1;
sb.Append(Col.ColumnName+",");
}
sb.Append("\n");
foreach(DataRow Row in dt.Rows)
{
rowIndex+=1;
colIndex=0;
foreach(DataColumn Col in dt.Columns)
{
colIndex=colIndex+1;
sb.Append(Row[Col.ColumnName].ToString()+",");
}
sb.Append("\n");
}
StringWriter sw=new StringWriter(sb);
StreamWriter swfile=new StreamWriter(new FileStream(fn,FileMode.Create),System.Text.Encoding.Default);
swfile.Write(sw);
sw.Close();
swfile.Close();
GC.Collect();
return true;
}
catch(Exception ex)
{
throw new Exception(ex.Message);
}
return false;
}

111,120

社区成员

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

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

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