日期:2014-05-18  浏览次数:20471 次

查询Excel时,出现这样的问题?
使用此
SELECT   *   FROM   OPENDATASOURCE( 'Microsoft.Jet.OLEDB.4.0 ',   'Data   Source=C:\Documents   and   Settings\Administrator\桌面\2007.xls;Extended   Properties=Excel   8.0 ')...tableinfo$
查询时,若Excel某列为数字时,那么查询出来的是,NULL,不知道有没有办法,解决.

------解决方案--------------------
可能是格式问题
select * OPENROWSET( 'Microsoft.Jet.OLEDB.4.0 ', 'Excel 8.0;Database=D:\教务处工作\高一年级(07级)\200708分班.xls;HDR=YES;IMEX=1 ', 'SELECT * FROM [sheet1$] ')

加IMEX=1;添加一行格式数据,在导入时排除这条数据,或导入后删除这条数据即可
------解决方案--------------------
HDR=YES;是否确定第一行作为列名
IMEX=1 ;是否将数据体全作为字符型,当不用它时,在用openrowset的时候会分析每列数据的前几行,如果大部分是数字,将确认此列为数字,字符的自然就为空,其它列一样