大块数据填充Excel快速算法

ListView中存放了大约1000条记录,每条记录有50多个字段,若用for循环将数据搬移到excel中速度异常缓慢,有没有快速算法?请高手指导~~

用数组,或DataTable填充,速度贼快
使用多个单元格写入的速度远快于对单元格进行逐个写入,因此是提高生成Excel速度的一个重要途径。   
    
 示例代码  
   
  Excel.Application   xApp   =   new   Excel.ApplicationClass();  
  string[,]   strs   =   new   string[9,   9];  
  for(int   i   =   0;   i   <   9;   i++)  
  for(int   j   =   0;   j   <   9;   j++)  
  strs[i,   j]   =   Convert.ToString((i   +   1)   *   (j   +   1));  
   
  Excel.Workbook   xBook   =   xApp.Workbooks.Add(Missing.Value);  
  Excel.Worksheet   xSheet   =   (Excel.Worksheet)xBook.Worksheets[1];  
  xSheet.get_Range(xSheet.Cells[1,   1],   xSheet.Cells[9,   9]).Value   =   strs;  


如同List.AddRange()比循环用List.Add()速度快


先把数据填充到一个二维数组   
再将二维数组填充到RANGE   
用种方法导入过5万行数据   
只用了10秒
posted @ 2009-09-26 16:25  KiNg.JiOnG  阅读(702)  评论(0编辑  收藏  举报
查看博客访问人数(点击):