代码改变世界

C#写数据入Excel最快的方法

2011-04-14 17:04  假面Wilson  阅读(1141)  评论(0)    收藏  举报
 先把数据写入二维数组,再用Excel范围的方法一次性填充数据。

 

                object[,] buffer = new object[dt.Rows.Count, dt.Columns.Count];
                for (int intRow = 0; intRow < dt.Rows.Count; intRow++)
                {
                    for (int intColumn = 0; intColumn < dt.Columns.Count; intColumn++)
                    {
                        buffer[intRow, intColumn] = dt.Rows[intRow][intColumn];
                    }
                }
                Microsoft.Office.Interop.Excel.Range r = excelWorkSheet.get_Range(excelWorkSheet.Cells[iRow, iCol], excelWorkSheet.Cells[iRow + dt.Rows.Count - 1, dt.Columns.Count]);
                r = r.get_Resize(dt.Rows.Count, dt.Columns.Count);
                r.Value2 = buffer;