Как читать значения из Excel, используя функцию Openrowset? - PullRequest
0 голосов
/ 07 декабря 2010

Я читаю лист 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 Ответ

1 голос
/ 07 декабря 2010

Это связано с 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 означает все строки.

...