MSFlexGrid與Excel
目前正在進(jìn)行的項(xiàng)目中,碰到一個(gè)難題: 那就是msflexgrid與Excel數(shù)據(jù)的相互導(dǎo)入過(guò)程中,,速度慢的問(wèn)題,。 如果數(shù)據(jù)量不是很大的話,,采用網(wǎng)上常舉例的的方式還可以,但是一旦數(shù)據(jù)量很大,,打到幾萬(wàn)甚至幾十萬(wàn)的時(shí)候,,那個(gè)速度簡(jiǎn)直是慢得離譜,你簡(jiǎn)直不敢相信這是電腦在做事情,。 首先講講傳統(tǒng)方案: 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ù)用了十幾秒鐘,,慢,!太慢!實(shí)在是太慢了,! 昨天項(xiàng)目經(jīng)理找我聊了一下清況,,我將我碰到的問(wèn)題告訴她,她很奇怪(她不懂VB),這里已經(jīng)完全是電腦在處理數(shù)據(jù)的啊,,怎么會(huì)那么慢呢,? 她還嘗試用我已經(jīng)導(dǎo)出的數(shù)據(jù)經(jīng)過(guò)在Excel和Textbook之間相互復(fù)制粘貼來(lái)證明The speed of computer. 那確實(shí)相當(dāng)?shù)目欤@個(gè)馬上給了我一個(gè)啟發(fā):剪貼板,。 對(duì),,我所說(shuō)的快的處理方法就是采用剪貼板。 2,、 Clipboard.Clear End With 這下子速度快多了:Ctrl+A, Ctrl+C, Ctrl+V, OK!搞定了,!快吧,?! |
|
來(lái)自: a_cheng > 《VB學(xué)習(xí)》