У меня есть огромный набор данных, который мне нужно импортировать из Excel в Access (~ 800k строк). Тем не менее, я могу игнорировать строки с определенным значением столбца, которые составляют 90% фактического набора данных. Так что на самом деле мне действительно нужно как 10% импортированных строк.Импорт огромного набора данных в Access из 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-доступ?
Заранее спасибо.
VB.NET не vba. Это так правильно на теге. – Plutonix
1.) Можете ли вы удалить 90% строк для уменьшения данных, с которыми имеете дело? 2.) Это одноразовая операция, или вы будете многократно это делать? Это изменит, насколько важно ваше решение. Обычно RDBMS позволяет импортировать из Excel, CSV, XML и т. Д. В таблицу (таблицы) базы данных. Это ручной шаг, но если это вам понадобится один раз, это может быть самым быстрым и простым ... –
Вы можете запросить лист Excel с помощью ADO и сделать это с помощью ADO и SQL. –