我有一个庞大的数据集,我需要从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执行此操作。 –