我有一個龐大的數據集,我需要從Excel導入Access(〜800k行)。但是,我可以忽略具有特定列值的行,這些值與實際數據集的90%相同。所以實際上,我只需要輸入10%的線。將大數據集導入Excel中通過VBA訪問
在過去,我已經導入Excel文件一行一行地以下列方式(僞代碼):
For i = 1 To EOF
sql = "Insert Into [Table] (Column1, Column2) VALUES ('" & _
xlSheet.Cells(i, 1).Value & " ', '" & _
xlSheet.Cells(i, 2).Value & "');"
Next i
DoCmd.RunSQL sql
隨着〜800K線這需要waaay到只要爲每一個線查詢將被創建並運行。
考慮到我也可以忽略90%的線的事實,從Excel導入數據集到Access的最快方法是什麼?
我想創建一個激活過濾器的臨時excel文件。然後我只導入過濾的excel。
但是有沒有比這更好/更快的方法?另外,什麼是通過vba訪問導入excel的最快方法?
在此先感謝。
VB.NET不是vba。在標籤上說得很對。 – Plutonix
1.)你能刪除90%的行來減少你處理的數據嗎? 2.)這是一次性操作,還是你會重複這樣做?這改變了您的解決方案需要的強大程度。通常,RDBMS允許從Excel,CSV,XML等導入到數據庫表中。這是一個手動步驟,但如果這是您一次性需要的,它可能是最快和最簡單的... –
您可以使用ADO查詢Excel表並使用ADO和SQL執行此操作。 –