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

读取EXCEL表数据为NULL?
EXCEL里面的数据是文本类型的,在用SQL读取的时候查询分析器里有部分数据为空,不知道是何原因:
39401 164 39401.0 164.0 269.0 81.0 269.0 Dress   -   knitted 1.0 Lipstick
39401 164 39401.0 164.0 269.0 81.0 269.0 Dress   -   knitted 1.0 Purple
NULL NULL NULL NULL 99.0 81.0 198.0 Accessories   -   others 2.0 Dark   Red
NULL NULL NULL NULL 0.0 81.0 0.0 Accessories   -   others 2.0 Indigo
这是读取的那个SQL语句
SELECT   cast(B.编号   as   nvarchar),*
FROM   OPENROWSET( 'MICROSOFT.JET.OLEDB.4.0 '
, 'Excel   5.0;HDR=YES;IMEX=1;DATABASE=C:\test1.xls ',sheet1$)   AS   B

------解决方案--------------------
是数据类型不一致造成的。
办法1,在Excel里面所有数字前加 '

------解决方案--------------------
常见现象,仅把EXCEL里面的单元格设置为文本类型的恐怕还不够,最好是所有单元格内容前面都加上单引号