Рассмотрим прямой запрос Excel, который поддерживается Jet / ACE SQL Engine. Ниже предполагается, что лист Excel является табличным в формате с именованными заголовками и начинается в ячейке A1
. Сохраните или запустите ниже как запрос доступа. Конечно, настройте все столбцы, путь к книге Excel и имя листа.
INSERT INTO myTable (Col1, Col2, Col3, ...)
SELECT t.Col1, Col2, Col3, ...
FROM [Excel 12.0 Xml;HDR=Yes;Database=C:\Path\To\Excel\Workbook.xlsx].[Sheet1$] t
Для данных Excel, которые не начинаются в самой верхней левой ячейке A1
и без заголовков, рассмотрите следующий запрос, который выбирает данные из листа диапазон: B100:Z450
. Убедитесь, что перечисленные столбцы таблицы соответствуют типу данных один в один в данных Excel безымянных заголовков.
INSERT INTO myTable (Col1, Col2, Col3, ...)
SELECT *
FROM [Excel 12.0 Xml;HDR=No;Database=C:\Path\To\Excel\Workbook.xlsx].[Sheet1$B100:Z450] t
Для отладки всегда выполняйте часть запроса SELECT
перед полным запросом на добавление.