我正在使用SQL Server的Openrowset函数从excel文件中读取数据。
SELECT * FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0','Excel 8.0;Database=E:\IGM\Files\cis overview.xls;HDR=No;IMEX=1;','SELECT * FROM [CIS Overview$]')但并不是所有的列都显示在openrowset中。
下面是示例,我正在读取的Excel文件有28列,其中27列没有数据,只有标题,28列被Openrowset忽略。
col1 col2 col3
--------------
A X
B X
C X
. .
. .Openrowset没有在结果集中返回col3 -为什么?
它只显示col1,col2。
但是如果我在col2(任意单元格)中插入一些数据,结果集将包含所有三列。
如果之前没有数据,它会忽略最后一列吗?
我也在查询中包含了HDR=NO选项,但是没有运气吗?
他们有没有办法获得结果集中的所有列?
有什么帮助吗?
致以敬意,
发布于 2011-08-26 06:44:25
删除工作表选项卡名中的空格:"CIS Overview“--> "CIS_Overview”或"CISOverview“。
发布于 2011-05-23 13:03:07
如果您知道列数,则可以尝试在查询到excel列表中指定:
'SELECT * FROM [CIS Overview$A:Z]'这里的列从'A‘到'Z’。
https://stackoverflow.com/questions/6092860
复制相似问题