0

我正在使用 openrowset 函数阅读 excel 表?

我的 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)
4

1 回答 1

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 表示所有行。

于 2010-12-07T17:15:15.010 回答