Как читать значения из Excel, используя функцию Openrowset?
Я читаю лист Excel, используя функцию openrowset?
Мой лист Excel имеет числовое значение в столбце общего типа. По некоторым причинам эти значения возвращаются как нули, даже если они имеют значения. Я не уверен, почему это происходит. Я посмотрел на формат полей, и они установлены на Общие в Excel, я попытался установить их для текста, и это не помогло.
Я попытался перенести содержимое из источника Excel в текстовый файл в формате csv, и по какой-то причине текстовое поле, содержащее числовое значение, оказалось пустым (NULL).
Любые предложения по получению этой адреса будут высоко оценены.
SET @Cmd = 'INSERT INTO Table_01
SELECT * FROM OPENROWSET(''Microsoft.Jet.OLEDB.4.0'', ''Excel 8.0;Database=' + @ExcelFilePath + ''',
''SELECT * FROM [Sheet1$]'')'
EXEC(@Cmd)
1 ответ
Решение
Это связано с TypeGuessRows и IMEX:
OPENROWSET('Microsoft.Jet.OLEDB.4.0',
'Excel 8.0;HDR=YES;IMEX=1;Database=x.xls',
'SELECT * FROM [Sheet2$]');
TypeGuesssRows можно найти по адресу:
HKEY_Local_Machine/Software/Microsoft/Jet/4.0/Engines/Excel/
Значение 0 означает все строки.