目前正在進(jìn)行的項目中,碰到一個(gè)難題:
那就是msflexgrid與Excel數據的相互導入過(guò)程中,速度慢的問(wèn)題。
如果數據量不是很大的話(huà),采用網(wǎng)上常舉例的的方式還可以,但是一旦數據量很大,打到幾萬(wàn)甚至幾十萬(wàn)的時(shí)候,那個(gè)速度簡(jiǎn)直是慢得離譜,你簡(jiǎn)直不敢相信這是電腦在做事情。
首先講講傳統方案:
1、
For i = 1 To TotalCount
MSFlexGrid1.Col = j
‘下面或者M(jìn)SFlexGrid1.TextMatrix(i, j)
xlsheet.Range(Chr(65 + j) + CStr(i + 2)).Value = MSFlexGrid1.Text
Next j
Next I
這個(gè)就是我講的最慢的方法。
處理超過(guò)100K的數據用了十幾秒鐘,慢!太慢!實(shí)在是太慢了!
昨天項目經(jīng)理找我聊了一下清況,我將我碰到的問(wèn)題告訴她,她很奇怪(她不懂VB),這里已經(jīng)完全是電腦在處理數據的啊,怎么會(huì )那么慢呢?
她還嘗試用我已經(jīng)導出的數據經(jīng)過(guò)在Excel和Textbook之間相互復制粘貼來(lái)證明The speed of computer.
那確實(shí)相當的快,這個(gè)馬上給了我一個(gè)啟發(fā):剪貼板。
對,我所說(shuō)的快的處理方法就是采用剪貼板。
2、
Clipboard.Clear
End With
這下子速度快多了:Ctrl+A, Ctrl+C, Ctrl+V, OK!搞定了!快吧?!
聯(lián)系客服