2014-05-06 51 views
0

我寫一個函數將數據從一個GridView導出到Excel這種方法在VB .NET:最快的方式來寫細胞到Excel

 Call consultaPlanilha() 
    Dim i, j As Integer 'CONTADORES 
    ReDim vetPontos(GridPontos.Rows.Count - 2, 1) 


    For i = 0 To GridPontos.Rows.Count - 2 
     For j = 0 To 1 
      vetPontos(i, j) = CDbl(GridPontos.Item(j, i).Value) 
      xlw.Application.Cells(i + 3, j + 2).Value = vetPontos(i, j) 
     Next 
    Next 

    xlw.Save() 

這是需要很長時間的大量數據。有沒有更快的方法來一次寫入大量的數據到Excel?做範圍會更快嗎?

+1

您可以在一個操作中直接拖放一個2-d數組轉換成一個範圍。 http://support.microsoft.com/kb/302094 –

+0

不需要投射,因爲單元格的內容已經是雙倍。 – ja72

回答

0

你知道你可以這樣做:

Dim vetPontos() as Variant 
ReDim vetPontos(1 to 100, 1 to 20) 

For i=1 to 100 
    For j=1 to 20 
    // fill in vetPontos(i,j) 
    Next j 
Next i 

Range("A1").Resize(100,20).Value = vetPontos