Импорт данных EXCEL в SQL Server без преобразования данных - PullRequest
0 голосов
/ 25 сентября 2019

Я пытаюсь вставить данные Excel в таблицы сервера SQL.Каждый столбец должен быть импортирован в том же формате, который пользователь написал в исходном Excel.

Я использую следующий запрос для извлечения данных

SELECT * FROM OPENROWSET( 'Microsoft.ACE.OLEDB.12.0', 'Excel 12.0 Xml;HDR=YES;IMEX=1;Database=H:\Loadloandata\Test\K3.xlsx', 
'SELECT * FROM [Sheet1$]')

Но теперь в столбце даты Excelмы получаем некоторые значения с плавающей точкой (проблемы с форматированием от пользователей), как показано ниже

enter image description here

Из-за неверных данных поставщик OLE преобразует все остальныедаты для смещения значений в соответствующих столбцах таблицы SQL (значения с плавающей точкой, соответствующие каждой дате). Если столбец даты автоматически приводится к плавающей точке, я не смогу узнать исходный формат данных в файле Excel, поэтому все столбцы должныимпортироваться как varchar.

enter image description here

Как я могу предотвратить это преобразование типа данных?Основываясь на поиске Google, я использовал IMEX = 1 в строке подключения, чтобы получить данные для смешанных столбцов данных.Но это не работает !!

...