Всем привет! Помогите пожалуйста решить такую задачу. Поскольку речь идет про SQL запрос то опишу путь файлов. Для простоты на диске размещена папка C:\Test\ В папке два файла: Source.xlsx - Файл Источник и Import.xlsx - Файл импортирующий данные с встроенным SQL запросом.
Файл Source.xlsx на листе "Источник" имеет Таблицу "Data1", причем таблица с заголовком размещена не на первой строке листа, а на строку ниже, что несколько усложняет импорт данных с листа, т.к. стоит задача импортировать только таблицу "Data1", а не все данные с листа. Также выяснилось, что "Data1" в перовом столбце с заголовком [Дата] имеет изъян, а именно дата в ячейках содержится в текстовом формате, то есть воспринимается Экселем как текст, а не как дата.
В итоге стоит задача импортировать данные из книги Source.xlsx непосредственно из таблицы "Data1" , а не со всего листа в книгу Import.xlsx на Лист1.
При этом требуется преобразование данных в столбце [Дата] из текстовой строки в формат даты (типа 16.01.2026)
Я немного понимаю VBA, но в SQL полнейший ноль.
С помощью "гугл окей" и Microsoft Query максимум, что мог родить такие параметры
Строка подключения
DSN=Excel Files;DBQ=C:\Test\Source.xlsx;DefaultDir=C:\Test;DriverId=1046;MaxBufferSize=2048;PageTimeout=5;
Тип команды SQL
Текст команды SELECT * FROM [Источник$A2:F30] - только так получилось импортировать полноценную таблицу с заголовком, хотя признаю "топорность" метода.
Как прописать текст команды SQL для импорта данных только из "Data1" (что то типа SELECT * FROM [Data1])не указывая явно диапазон как это сделано выше и произвести преобразование текста в столбце [Дата] в дату (что то типа CAST ("Data1"[Дата]).
Я знаю как это сделать в Power Query на раз-два, но пользуюсь Excel 2007, так что нужен SQL запрос. И еще пожалуйста, кто нибудь сориентируйте есть ли какой нибудь краткий справочник по синтаксису SQL именно для связки c Excel? Пока гуглил выяснилось что язык SQL имеет несколько разновидностей (SQL Lite, PostgreSQL, MySQL...) , какой именно SQL используется для построения запросов в среде Excel?
Файлы во вложении.
Файл Source.xlsx на листе "Источник" имеет Таблицу "Data1", причем таблица с заголовком размещена не на первой строке листа, а на строку ниже, что несколько усложняет импорт данных с листа, т.к. стоит задача импортировать только таблицу "Data1", а не все данные с листа. Также выяснилось, что "Data1" в перовом столбце с заголовком [Дата] имеет изъян, а именно дата в ячейках содержится в текстовом формате, то есть воспринимается Экселем как текст, а не как дата.
В итоге стоит задача импортировать данные из книги Source.xlsx непосредственно из таблицы "Data1" , а не со всего листа в книгу Import.xlsx на Лист1.
При этом требуется преобразование данных в столбце [Дата] из текстовой строки в формат даты (типа 16.01.2026)
Я немного понимаю VBA, но в SQL полнейший ноль.
С помощью "гугл окей" и Microsoft Query максимум, что мог родить такие параметры
Строка подключения
DSN=Excel Files;DBQ=C:\Test\Source.xlsx;DefaultDir=C:\Test;DriverId=1046;MaxBufferSize=2048;PageTimeout=5;
Тип команды SQL
Текст команды SELECT * FROM [Источник$A2:F30] - только так получилось импортировать полноценную таблицу с заголовком, хотя признаю "топорность" метода.
Как прописать текст команды SQL для импорта данных только из "Data1" (что то типа SELECT * FROM [Data1])не указывая явно диапазон как это сделано выше и произвести преобразование текста в столбце [Дата] в дату (что то типа CAST ("Data1"[Дата]).
Я знаю как это сделать в Power Query на раз-два, но пользуюсь Excel 2007, так что нужен SQL запрос. И еще пожалуйста, кто нибудь сориентируйте есть ли какой нибудь краткий справочник по синтаксису SQL именно для связки c Excel? Пока гуглил выяснилось что язык SQL имеет несколько разновидностей (SQL Lite, PostgreSQL, MySQL...) , какой именно SQL используется для построения запросов в среде Excel?
Файлы во вложении.
Изменено: - 16.01.2026 20:31:43