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

EXCEL导SQL时遇到的问题!
我把一个EXCEX文件导到SQL中,我发现在一列上有数字和字符时导到SQL中字符部分都是NULL,怎么解决?

例:
  EXCEL格式
  A
1 字段1
2 asdf
3 12
4 12
5 12
6 asdf

导到SQL里就变成
字段1
Null
12
12
12
Null
了,怎么能解决这个问题呢?
那位大侠知道是怎么回事啊?请指教!

------解决方案--------------------
指定字段类型
------解决方案--------------------
--try

--加上imex=1

select *
from opendatasource('microsoft.jet.oledb.4.0','excel 5.0;hdr=yes;imex=1;database=D:\Test.xls')...[sheet1$]


------解决方案--------------------
楼上高手,顶
------解决方案--------------------
好东西
------解决方案--------------------
up,学习,顶
------解决方案--------------------
加IMEX=1并不能完全解决类型不一致导致的NULL值问题,因为SQL只分析Excel表的前8行(不包括字段名)。

如果Excel表形如:
字段1
1 11
2 22
3 33
4 44
5 55
6 66
7 77
8 88
9 AA
... ...
加不加IMEX=1,导到SQL将都变成:
字段1
1 11
2 22
3 33
4 44
5 55
6 66
7 77
8 88
9 NULL
... ...